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=0
    for i in range(month-1):     # i变量是列表中元素索引下标
        total_day += month_day[i]
    # 在total_day+当前月的day
    total_day+=day
    # 判断闰年
    if year %400==0 or year%4==0 and year% 100!=0:
        total_day+=1
    print(f"{year}年{month}月{day}日是一年中第:{total_day}天")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值