码迷,mamicode.com
首页 > 其他好文 > 详细

初识字典1

时间:2018-07-15 23:19:08      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:rate   tde   size   添加   排序   打印   apple   update   不可变   

字典:

d = {key1 : value1, key2 : value2 }

  key值经过哈希函数的运算的结果决定value存放的地址,且key值是由不可变量组成。value可以是任何python的对象。

字典基本操作

dic1={‘name‘:‘xiaoyi‘}
dic1[‘age‘]=22 #增加一个
print(dic1)   
# {‘name‘: ‘xiaoyi‘, ‘age‘: 22}

如果键已存在就可以起到修改字典作用
dic1={‘name‘:‘xiaoyi‘}
dic1[‘name‘]=22 
print(dic1)
# {‘name‘: 22}

通过 setdefault添加键值对,可返回相应值
yo=dic1.setdefault(‘hobby‘,‘yoyo‘)
print(dic1,yo)
# {‘name‘: ‘xiaoyi‘, ‘hobby‘: ‘yoyo‘} yoyo

setdefault存在不会改动原字典,返回值为原字典键对应值
dic1={‘name‘:‘xiaoyi‘}
# aiyo=dic1.setdefault(‘name‘,‘yoyo‘)
aiyo=dic1.setdefault(‘aihao‘,‘yoyo‘)
print(dic1,aiyo)
# {‘name‘: ‘xiaoyi‘} xiaoyi
{‘name‘: ‘xiaoyi‘, ‘aihao‘: ‘yoyo‘} yoyo

 查 

查询
dic1={‘name‘: ‘xiaoyi‘, ‘aihao‘: ‘yoyo‘,‘fruit‘:‘apple‘}
print(dic1[‘name‘])
#查键
print(dic1.keys())
#查键(转换成列表)
print(list(dic1.keys()))
#查值
print(list(dic1.values()))
#键值全都取出
print(list(dic1.items()))  
 改
dic1={‘name‘: ‘xiaoyi‘, ‘aihao‘: ‘yoyo‘,‘fruit‘:‘apple‘}
dic1[‘aihao‘]=‘tuzi‘
print(dic1)
#update类似于列表中extend这是字典间添加相同的会覆盖
dic2={‘haolei‘:‘yo‘,‘fruit‘:‘apple‘,‘jitang‘:‘aaaa‘}
dic1.update(dic2)
print(dic1)
print(dic2)

  删

del.clear.pop删除类比列表 
dic1={‘name‘: ‘xiaoyi‘, ‘aihao‘: ‘yoyo‘,‘fruit‘:‘apple‘}
del dic1[‘name‘]
print(dic1)
dd=dic1.pop(‘fruit‘)#也会有返回value
print(dic1)
print(dd)
dic1.clear() 
print(dic1)
del dic1 #删除整个字典
随机删除
dic1={‘name‘: ‘xiaoyi‘, ‘fruit‘:‘apple‘,‘aihao‘: ‘yoyo‘}
aiya=dic1.popitem() #返回值为元组形式
print(aiya,dic1)

  

dic1={5: ‘xiaoyi‘, 2:‘zpple‘,7: ‘aoyo‘}
print(sorted(dic1))#可见默认按照key值进行排序,返回值为key值
print(sorted(dic1.values()))#也使用value值排序,返回值value值
print(sorted(dic1.items()))#按照key值排序,返回值为列表的形式
[2, 5, 7]
[‘aoyo‘, ‘xiaoyi‘, ‘zpple‘]
[(2, ‘zpple‘), (5, ‘xiaoyi‘), (7, ‘aoyo‘)]

dic1={‘name‘: ‘xiaoyi‘, ‘fruit‘:‘apple‘,‘aihao‘: ‘yoyo‘}
for x in dic1:#默认是打印键,也可按照值打印.values(),
	print(x)           #还有可以整个打印.items().
for x,v in dic1.items():#和enumerate一样
	print(x,v)
for x in dic1:
	print(x,dic1[x])#直接用键取value值

  
















初识字典1

标签:rate   tde   size   添加   排序   打印   apple   update   不可变   

原文地址:https://www.cnblogs.com/-0121/p/9315129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!