博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的字典
阅读量:7001 次
发布时间:2019-06-27

本文共 2229 字,大约阅读时间需要 7 分钟。

  • 可变数据类型与不可变数据类型

python中的数据类型可以划分为可变数据类型和不可变数据类型,可变数据类型就是可以哈希的数据类型,不可变数据类型就是不可哈希的数据类型。(不太懂什么是哈希,似乎是一种技术处理数据使得数据便于处理)

不可变的数据类型:int float complex bool str tuple

可变的数据类型:list dict set

  • dict字典的key与value的基本规定

字典dict是用来储存关心对的数据类型,每个key对应一个value。其中key只能是不可变类型,而value则可以使任意类型。

字典dict是无序的

dic = {
'name':'鲁达', 'age':22, 'weight':160}
  • 字典的增操作
dic['age'] = 35  # 如果有所输入的键值则更改该键值对应的数据dic['hight'] = 185  # 如果没有键值则添加键值

setdefault(k,d=None)如果字典中存在存在键值k则不作任何改变,如果不存在该键值,则增加键值以及键值所对应的数据d.默认该数据为None。

  • 字典的删操作

 pop(k,d)字典的pop与列表的pop相似,是依据键值删除字典中的数据。当字典中存在键值k时删除该键值对并返回该键值对应的值,当列表中没有该键值时返回d。默认为None

print(dic.pop('age',None))  # 字典的pop()与列表的pop相似,也有返回值,返回的事所删除键值对的值print(dic.pop('age',None))  # 可以设置没有所查询键值时的返回值,默认为None

popitem()随机删除字典中的一组键值对,并且返回该键值对

print(dic.popitem())  # 随机删除字典中的一组键值对

clear()删除字典中的所有元素

dic.clear()  # 清空字典中的所有元素

del方法可以直接删除整个字典,或者按照键值删除键值对。但是如果按照键值删除键值对时,所输入的键值是不存在的则会报错。(由于会报错,不好用)

del dic['age']  # 当输入的键值不存在时就会报错
  •  字典的改操作

可以直接通过键值更改字典中的数据,类似于利用索引更改列表中的数据。

dic['hight'] = 185  # 当字典中不存在该键值时会添加该键值

dict1.update(dict2)是字典数据常用的改操作,使得字典dict1更新到dict2。dict2中的元素如果dict1中有则用dict2中该键值对替换,如果没有则增加。

dic1.update(dic2)  # 利用dic2更新dic1中的数据
  • 字典的查操作

keys()返回字典所有的键值并组成一个类似于列表的数据。(不是列表类型但是类似于列表类型)

values()返回字典所有的值并组成一个类似于列表的数据。(不是列表类型但是类似于列表类型)

item()返回字典所有的键值对组成的元组并组成一个类似于列表的数据。(不是列表类型但是类似于列表类型)

print(dic.keys())  # 结果为dict_keys(['age', 'weight', 'name'])print(dic.values())  # 结果为dict_values([22, 160, '鲁达'])print(dic.items())  # 结果为dict_items([('age', 22), ('weight', 160), ('name', '鲁达')])
#遍历字典中的键值for i in dic:       print(i)for i in dic.keys():       print(i)#遍历字典中的值for i in dic.values():       print(i)#遍历字典中键值对for i in dic.items():       print(i)
for i,j in dic.items():        print(i,j)

get(key,d)依据key寻找value,当能查找到时返回该value,当不能查找到时返回所设置的d

 

dic = {       'name':'鲁达',       'age':22,       'weight':160}print(dic.get('hight','没有该值'))
  • fromkeys创建字典

使用fromkeys('iterable value',value)创建一个以可迭代变量中的元素作为键值,用value作为各个键值对应的值。

dic = dict.fromkeys(['k1','k2','k3'],['a','b','c'])print(dic)  # 输出结果为{
'k1': ['a', 'b', 'c'], 'k3': ['a', 'b', 'c'], 'k2': ['a', 'b', 'c']}

 

  •  for循环的一些特点
for i in value

当value为一个不可变得数据类型时,在第一次进入循环后以后循环都一直使用value的原有值不会改变。

当value为一个可变数据类型时 

 

转载于:https://www.cnblogs.com/baisexiaoxuanfeng/p/10440185.html

你可能感兴趣的文章
windows phone 8 新增功能:从一个应用程序启动另一个程序(file association 和 Protocol association两种方式)...
查看>>
Angularjs总结(七) 路由及请求服务等
查看>>
Bindservice开启服务特点
查看>>
centos session
查看>>
Google Code Jam 2014 资格赛:Problem D. Deceitful War
查看>>
上传文件
查看>>
串口波形分析
查看>>
html5-css列表和表格
查看>>
【Web自动化测试——代码篇十二】自动化测试模型——数据驱动测试和关键字驱动测试...
查看>>
.net判断System.Data.DataRow中是否包含某列
查看>>
Design T-Shirt 排序
查看>>
javaweb项目中关于配置文件web.xml的解析
查看>>
循环语句
查看>>
noip rp++
查看>>
大数加法 (A + B Problem II)
查看>>
Are you sure you want to continue connecting etc ssh ssh_config StrictHostKeyChecking no
查看>>
草稿--cgi
查看>>
同步,异步,阻塞,非阻塞
查看>>
文件缓存
查看>>
bash Shell 中如何实现条件判断之if判断
查看>>