pytho基础(五)—字典
字典(dict)
在python中非常重要的数据类型
在python中唯一一个映射的数据类型
按照可变与不可变划分数据类型
不可变:
int,str,bool,tuple
可变:
dict,list
字典的key:value(键:值)
key是唯一的且不可变的数据类型
value 任意数据类型
3.5版本前无顺序 3.6版本后有顺序
能存放大量数据类型且关联性强
字典的增,删,改,查:
增.
dic = {"name":"jin","age":18,"sex":"male"}
#dic['key'] = value #有key就覆盖 没有就添加
#.setdefult #有key不变 没有则添加
dic = {"name":"jin","age":18,"sex":"male"}
dic.setdefault('name',2)
dic.setdefault('name1',2)
print(dic)
删.
#.pop 按key删,有返回值,如果没有key可设置返回值,不设置则报错
dic = {"name":"jin","age":18,"sex":"male"}
ret = dic.pop('name1')
print(ret)
ret = dic.pop('name1','无此键')
print(ret)
#clear 清空字典
dic.clear()
print(dic)
#popitem 随机删除 默认删除最后一个 有返回值 以元祖类型呈现
ret = dic.popitem()
print(ret)
print(dic)
改.
dic = {"name":"jin","age":18,"sex":"male"}
#按key改
dic['name'] = 'hei'
print(dic)
#update 将键值对覆盖 添加 字典与字典之间
dic2 = {"name":"alex","weight":75}
dic.update(dic2)
print(dic)
查.
dic = {"name":"jin","age":18,"sex":"male"}
#get 按照key查 有返回值 如果没有key则可以设置返回值
ret = dic.get('name')
print(dic)
ret = dic.get('name1')
print(ret)
#for 循环查找
for i in dic:
print(i)
#.keys 打印所有的键
print(dic.keys())
#.values 打印所有的值
print(dic.values())
#.items 打印所有的键值
print(dic.items())
字典的嵌套.
dic = { 'name':'金鑫', 'name_list':[1,2,3,'李杰'], 1:{ 'python10':['小黑','萌哥'], '老男孩':{'name':'oldboy','age':56} } }
#1,[1,2,3,'李杰']追加'wusir'
dic['name_list'].append('wusir')
print(dic)
#2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
dic[1]['python10'].insert(1,'花哥')
print(dic)
#3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人
dic[1]['老男孩']['hobby'] = '男人'
print(dic)
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· JDK 24 发布,新特性解读!
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· SQL Server如何跟踪自动统计信息更新?
· windows下测试TCP/UDP端口连通性