51学通信论坛2017新版
标题:
字典的基本和常见操作
[打印本页]
作者:
admin
时间:
2018-8-7 22:30
标题:
字典的基本和常见操作
字典的基本和常见操作
#!/usr/bin/python3.6
d = {"201801":"张三","201802":"李四","201803":"王五"}
print(d)
print(type(d))
print(d['201801']) #输出为张三
t={} #创建一个空字典
t["201804"]="赵六" #往空字典添加元素
print(t)
'''
1.1 字典的操作函数
len(d) #字典长度
min、max(d) #求字典中的最小、最大的Key(不是value的比较)
dict() #生成孔子殿
'''
print(min(d)) #结果是201801(按key进行排序)
print(max(d)) #结果是201803
'''
1.2 字典的操作方法
d.keys() #返回所有的键
d.values() #返回所有的值
d.items() #返回所有的键值对信息
d.get(key,default) #如果key存在则返回对应的value,否则返回默认值default
d.pop(key,default) #如果key存在则返回对应的value,同时删除键值对。否则返回默认值default
d.popitem() #随机从字典取出一个键值对,以元组(key,value)形式返回,同时将该键值对从字典中删除
d.clear() #删除所有键值对,清空字典
'''
print(d.keys()) #结果是:dict_keys(['201801', '201803', '201802'])
print(d.values()) #结果是:dict_values(['张三', '王五', '李四'])
print(d.items()) #结果是:dict_items([('201801', '张三'), ('201802', '李四'), ('201803', '王五')])
print(type(d.keys())) #结果是:<class 'dict_keys'>
a=list(d.keys()) #将字典的key值转换为列表
print(a) #打印该列表。结果是:['201801', '201803', '201802']。发现转换为列表顺序变了,因为字典是无序的。
print(a[0]) #打印列表中的第一个值。结果是:201801
b=list(d.items()) #将字典的键值对转换为列表
print(b) #打印该列表。结果是:[('201802', '李四'), ('201801', '张三'), ('201803', '王五')]
print(b[0])#打印该列表中的第一个值。结果是('201802', '李四')
print(d.get('201801')) #搜索201801这个key,找到了。返回其值。结果是:张三
print(d.get('201804','不存在')) #搜索201804这个key,没有。返回缺省值。结果是:不存在
print(d.pop('201802')) #弹出201802对应的value。找到了,将值返回。结果是:李四
print(d.pop('201804','不存在')) #弹出201804对应的value。没找到,返回默认值。结果是:不存在
print(d.popitem()) #随机弹出一个键值对。返回该键值对的值。结果是:('201801', '张三')
print(d) #打印d当前的值。结果:{'201803': '王五'}
d.clear() #清空字典。
print(d) #打印d。结果是:{}
d = {"201801":"张三","201802":"李四","201803":"王五"}
del d["201802"] #del删除某个指定的元素。给出key即可。
print(d) #打印d,发现201802对应的键值对已删除。结果是:{'201803': '王五', '201801': '张三'}
print('201801' in d) #检查201801这个key是否在字典中,发现在。结果是:True
print('201804' in d) #检查201804这个key是否在字典中,发现不在。结果是:False
'''
1.3 用for循环遍历字典
'''
d = {"201801":"张三","201802":"李四","201803":"王五"}
for k in d:
print("字典的键和值分别是:{}和{}".format(k,d.get(k)))
'''
执行结果如下:
字典的键和值分别是:201801和张三
字典的键和值分别是:201802和李四
字典的键和值分别是:201803和王五
'''
复制代码
执行结果是:
{'201801': '张三', '201802': '李四', '201803': '王五'}
<class 'dict'>
张三
{'201804': '赵六'}
201801
201803
dict_keys(['201801', '201802', '201803'])
dict_values(['张三', '李四', '王五'])
dict_items([('201801', '张三'), ('201802', '李四'), ('201803', '王五')])
<class 'dict_keys'>
['201801', '201802', '201803']
201801
[('201801', '张三'), ('201802', '李四'), ('201803', '王五')]
('201801', '张三')
张三
不存在
李四
不存在
('201803', '王五')
{'201801': '张三'}
{}
{'201801': '张三', '201803': '王五'}
True
False
字典的键和值分别是:201801和张三
字典的键和值分别是:201802和李四
字典的键和值分别是:201803和王五
复制代码
欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/)
Powered by Discuz! X3