Python学习日记(三) 学习使用dict
2019-07-24 09:26:14来源:博客园 阅读 ()
数据按类型可划分为:
不可变数据类型(可哈希):元祖、string、int、bool
可变数据类型(不可哈希):dict、list
集合本身是可变数据类型,元素是不可变数据类型
字典中的key必须是不可变数据类型,value可以是任意数据类型
字典的优点:二分查找查询、存储大量关系型数据
dict创建格式:
dic1 = dict(key1 = 20, key2 = 30) print(dic1) #{'key1': 20, 'key2': 30} dic2 = dict({'key1':20, 'key2':30, 'key3':450}) print(dic2) #{'key1': 20, 'key2': 30, 'key3': 450} dic3 = dict((('key1',100), ('key2',200), ('key3',302))) print(dic3) #{'key1': 100, 'key2': 200, 'key3': 302} dic4 = dict([('key1',100), ('key2',200), ('key3',302)]) print(dic4) #{'key1': 100, 'key2': 200, 'key3': 302} dic5 = {'key1':100, 'key2':200} print(dic5) #{'key1': 100, 'key2': 200}
创建一个字典:
dic = { 'name' : 'Jogn', 'age' : 18, 'height' : 170, }
增:
<1>通过键值对直接赋值
dic['name'] = 'JognsMoke' #{'name': 'JognsMoke', 'age': 18, 'height': 170} dic['weight'] = 75 #{'name': 'JognsMoke', 'age': 18, 'height': 170, 'weight': 75}
<2>dict.setdefault()
有返回值,默认值为None,若该键存在则返回原值,若不存在则返回设置的默认值
dic.setdefault('height',177) #{'name': 'Jogn', 'age': 18, 'height': 170} dic.setdefault('sex','male') #{'name': 'Jogn', 'age': 18, 'height': 170, 'sex': 'male'}
print(dic.setdefault('height',177)) #170 print(dic.setdefault('sex','male')) #male
删:
<1>dict.pop()
删除字典指定的键值对,返回键所对应的值,键值必须要给出,否则返回默认值
print(dic.pop('name')) #Jogn print(dic.pop('name',None)) #None print(dic.pop('name','该值已被弹出')) #该值已被弹出
<2>dict.popitem()
3.5(包括3.5)之前随机删除一个键值对,3.5之后删除最后的一对键值对 返回值为(key,value) 如果字典为空则返回 'popitem(): dictionary is empty'
print(dic.popitem()) #('height', 170) python 3.7
<3>dict.clear()
清空字典
dic.clear() print(dic) #{}
<4>del
删除键值对也可以删除整个字典,键名存在则删除该键值对,弱不存在则报错
del dic['name'] #{'age': 18, 'height': 170} print(dic) del dic['sex'] #KeyError: 'sex' del dic print(dic) #name 'dic' is not defined
改:
<1>通过键值对直接改
<2>dict.update()
把字典二的键值对更新到字典一中,无返回值
dic2 = { 'name' : 'Jane', 'sex' :'female' } dic.update(dic2) print(dic) #{'name': 'Jane', 'age': 18, 'height': 170, 'sex': 'female'}
dic.update(sex = 'female',hobby = 'sing') #{'name': 'Jogn', 'age': 18, 'height': 170, 'sex': 'female', 'hobby': 'sing'} print(dic)
dic.update([('sex','female'),('hobby','play')]) #{'name': 'Jogn', 'age': 18, 'height': 170, 'sex': 'female', 'hobby': 'play'} print(dic)
查:
<1>通过键直接查询
没有此键则会报错
print(dic['name']) #Jogn
<2>dict.get()
v1 = dic.get('name') #Jogn print(v1) v2 = dic.get('hobby') #None print(v2) v3 = dic.get('hobby','并未找到') #并未找到 print(v3)
<3>for循环
print("打印字典键:") for i in dic: print(i) '''打印字典键: name age height''' print("打印字典键:") for i in dic.keys(): print(i) '''打印字典键: name age height''' print("打印字典值:") for i in dic.values(): print(i) '''打印字典值: Jogn 18 170''' print("打印去掉括号的字典键值对:") for i,j in dic.items(): print(i,j) '''打印去掉括号的字典键值对: name Jogn age 18 height 170'''
原文链接:https://www.cnblogs.com/Fantac/p/11207437.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash