python

python(6):字典(1)

2022-03-28  本文已影响0人  Z_bioinfo

1. 字典

字典是由键值对构成的,键和值用冒号隔开,一起构成字典的元素,各元素之间逗号隔开,所有元素放置在一对花括号内,比如:
{'张三':18,'李四':20,’赵六‘:19}
这个字典由三个元素构成,每个元素的键表示名字,值表示这个人的年龄,一般字典的键具有唯一性,即两个元素的键不能相同。每个键斗鱼一个值相关联,可以使用间来访问与之相关联的值,与键相关联的值可以是数字,字符串,列表乃至字典。事实上,可将python中任何对象当作字典中的值。

2.创建一个简单的字典

xiaoming = {'age': 18 , 'height': 175}#创建字典
print(xiaoming['age'])
print(xiaoming['height'])
18
175

3.其它方法创建字典

字典除了用键值对的方法进行创建之外,还可以用两个列表的对应关系来创建,比如:

province=['云南','贵州','四川','广东']
city=['昆明','贵阳','成都','广州']
d=dict(zip(province,city))
d
{'云南': '昆明', '贵州': '贵阳', '四川': '成都', '广东': '广州'}
或者
d = {
    '云南': '昆明',
    '贵州': '贵阳',
    '四川': '成都',
    '广东': '广州',
}
d
{'云南': '昆明', '贵州': '贵阳', '四川': '成都', '广东': '广州'}

第3行中dict是字典的英文单词dictionary的前三个字母,zip()函数的作用是把两个列表中对应位置上的元素压缩到一起,dict()函数将zip()函数压缩的结果转换为一个字典类型。

4. 字典的访问

字典的访问分为只访问键,只访问值,访问键值对,访问键对应的值等几种类型,看代码(沿用上一个例子的字典):

province=['云南','贵州','四川','广东']
city=['昆明','贵阳','成都','广州']
d=dict(zip(province,city))
d.keys() #访问所有的键
dict_keys(['云南', '贵州', '四川', '广东'])
或者
for i in d.keys():
    print(i)
云南
贵州
四川
广东
===============================
d.values() #访问所有的值
dict_values(['昆明', '贵阳', '成都', '广州'])
或者
for i in d.values():
    print(i)
昆明
贵阳
成都
广州
=================================
d.items() #访问所有的键值对
dict_items([('云南', '昆明'), ('贵州', '贵阳'), ('四川', '成都'), ('广东', '广州')])
或者
for i,j in d.items():
    print(i + ": " + j)
云南: 昆明
贵州: 贵阳
四川: 成都
广东: 广州
=================================
d['云南']  #访问键对应的值
'昆明'
=================================
d.get('广东','中国') #访问键对应的值,第二个参数是默认值
'广州'
===================================
d.get('广西','中国') #字典中没有”广西“这个键,返回默认值
'中国'

5.字典元素的添加、修改、删除

字典是一种可变的映射类型,其元素可以修改、添加与删除,看代码(沿用上一个例子的字典):

1.添加
d['山东']='青岛' #原来没有这个键,添加键值对
d
{'云南': '昆明', '贵州': '贵阳', '四川': '成都', '广东': '广州', '山东': '青岛'}
或者创建一个空字典,逐个添加
d = {}#创建空字典
d['云南'] = '昆明'
d['贵州'] = '贵阳'
d['四川'] = '成都'
d['广东'] = '广州'
d['山东'] = '青岛'
d
{'云南': '昆明', '贵州': '贵阳', '四川': '成都', '广东': '广州', '山东': '青岛'}
======================================
2.修改
d['山东']='济南'  #字典已经存在该键,则修改键值对
d
{'云南': '昆明', '贵州': '贵阳', '四川': '成都', '广东': '广州', '山东': '济南'}
============================
3.删除
d.pop('山东')  #删除键,其值一起被删掉
d
{'云南': '昆明', '贵州': '贵阳', '四川': '成都', '广东': '广州'}
或者用del 
del d['山东']
d
{'云南': '昆明', '贵州': '贵阳', '四川': '成都', '广东': '广州'}
上一篇下一篇

猜你喜欢

热点阅读