python——字典
目录
1、定义
2、特征
3、字典操作
(1)创建字典
(2)字典访问
①访问字典键 keys()函数 或者 直接使用for循环
②访问字典值 values()函数
③访问字典中键值对 items()函数
④遍历字典中键和值
(3)添加键值对
(4)删除键值对
(5)修改键值对
4、实例
例1:通过键盘输入字符串,把其中字母作为键,该字母出现的次数作为值添加到字典中。
例2:判断这是一年中的第几天?输入某年某月某日,判断这一天是这一年的第几天?
1、定义
python中字典是一种无序,可变的数据类型,它的元素都是“键值对”形式存在。字典也是python中唯一映射数据类型(键和值之间一一对应关系)类似java:HashMap。使用多个键值对来描述一个物体的相关信息,也可以用来描述比较复杂的数据信息。
2、特征
- 字典是通过键而不是通过索引来读取元素;
- 字典是任意数据类型的无序集合;
- 字典是可变,并且可以任意嵌套;
- 字典中键必须是唯一的。(键不能重复,如果出现多个一样的键,此时只会保留最后一个键值对);
- 字典中键必须是不可变数据类型。(python中不可变数据类型:数值类型:整数(常用),元组,字符串,不可变集合)
3、字典操作
(1)创建字典
创建空字典 字典变量= {} 或者 字典变量=dict()
创建非空字典 字典变量={键1:值1,键2:值2,...}
(2)字典访问
①访问字典键 keys()函数 或者 直接使用for循环
for i in 字典名称.keys():
for i in 字典名称:
②访问字典值 values()函数
for i in 字典名称.values():
③访问字典中键值对 items()函数
for i in 字典名称.items():
④遍历字典中键和值
for key,value in 字典名称.items():
print(f"{k}对应的value是:{v}")
(3)添加键值对
语法:字典变量[新的键] = 值
(4)删除键值对
- clear()函数:字典清空。
- pop(指定键)函数:删除指定键对应键值对,返回删除的值。
(5)修改键值对
语法:字典变量[已存在的键] = 新值
4、实例
例1:通过键盘输入字符串,把其中字母作为键,该字母出现的次数作为值添加到字典中。
dict_str ={}
str = input("请输入字符串:")
for i in str:# 变量i会从字符串第一个取到最后一个if i>="A" and i<="Z" or i>="a" and i<="z":dict_str[i] = str.count(i)
print(dict_str)
例2:判断这是一年中的第几天?输入某年某月某日,判断这一天是这一年的第几天?
mydate = input("请输入年月日(格式是yyyy-mm-dd):")
mylist=mydate.split('-')
# print(type(mylist),mylist)
# <class 'list'> ['2025', '04', '09']
year = int(mylist[0])
month = int(mylist[1])
day = int(mylist[2])
# print(year,month,day)
# 创建列表,存放每个月天数
month_day = [31,28,31,30,31,30,31,31,30,31,30,31]
# print(len(month_day))
if month ==1:print(f"{year}年{month}月{day}日是一年中第:{day}天")
else:# 创建变量存放当前月对应的前几个月天数和total_day=0for i in range(month-1): # i变量是列表中元素索引下标total_day += month_day[i]# 在total_day+当前月的daytotal_day+=day# 判断闰年if year %400==0 or year%4==0 and year% 100!=0:total_day+=1print(f"{year}年{month}月{day}日是一年中第:{total_day}天")