当前位置: 首页 > web >正文

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}天")

http://www.xdnf.cn/news/609.html

相关文章:

  • Opencv图像处理:模板匹配对象
  • Python小游戏:俄罗斯方块简易版三
  • skywalking agent 关联docker镜像
  • 关于AI:记忆、身份和锁死
  • 【MySQL】MySQL的基础语法及其语句的介绍
  • Qt6离线安装过程
  • 在win上安装Ubuntu安装Anaconda(linx环境)
  • React 自定义Hook之usePrevious
  • CFS 的调度类型:普通调度 vs 组调度
  • 【中级软件设计师】语言处理程序(汇编程序、解释程序、编译程序)附软考真题
  • go语言优雅关机和优雅重启笔记
  • WEMOS LOLIN32
  • 第一部分笔试Day_01到Day24_每天两道OJ
  • 图解MCP:Model Context Protocol
  • 从零开始用Pytorch实现LLaMA 4的混合专家(MoE)模型
  • 【Java】接口interface学习
  • 国际数据加密算法(IDEA)详解
  • CentOS 10 /root 目录重新挂载到新分区槽
  • 【数据结构入门训练DAY-18】信息学奥赛一本通T1331-后缀表达式的值
  • URLDNS链构造
  • Android Studio 中 Drawable 详细全解
  • Android Drawable 目录下的 XML 图形文件详解
  • 在 Linux 上部署 .NET Core 应用并配置为开机自动启动
  • [操作系统] 信号
  • GO语言入门:常用数学函数2
  • rollup使用讲解
  • JUC复习及面试题学习
  • SpringBoot 统一功能处理
  • 智谱开源新一代GLM模型,全面布局AI智能体生态
  • 墙面刷完乳胶漆之后就有裂缝,有根治的办法吗?