Python基本语法总结(五)字典操作
访问字典中的值
要获取与键相关联的值,可依次指定字典名和放在方括号内的键,如下所示:
>>> dict={'color':'green'}
>>> print(dict['color']) # 利用键访问值
green
>>>
也可以使用get()方法,若指定值不存在则返回默认值
# get(key, default = None)
>>> dict = {'Name': 'Runoob', 'Age': 27}
>>> print(dict.get('Name'))
Runoob
>>> print(dict.get('Sex','man'))
man
>>> print(dict.get('Sex'))
None
>>>
也可以使用setdefault()方法,使用方法与get()类似
# setdefault(key, default = None)
...
添加键-值对
字典是一种动态结构,可随时在其中添加键—值对。要添加键—值对,可依次指定字典名、用方括号括起的键和相关联的值。
>>> dict={'color':'green'}
>>> dict['point']=5 # 直接添加键-值对
>>> dict['x_pos']=0
>>> dict['y_pos']=25
>>> print(dict)
{'color': 'green', 'point': 5, 'x_pos': 0, 'y_pos': 25}
>>>
修改字典中的值
要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。
>>> dict={'color':'green'}
>>> print(dict)
{'color': 'green'}
>>> dict['color']='yellow' # 字典名[键] = 修改值
>>> print(dict)
{'color': 'yellow'}
>>>
删除字典中的键-值对
对于字典中不再需要的信息,可使用del语句将相应的键—值对彻底删除。使用del语句时,必须指定字典名和要删除的键。
>>> alien_0 = {'color': 'green', 'points': 5}
>>> print(alien_0)
{'color': 'green', 'points': 5}
>>> del alien_0['points'] # 利用del删除键-值对
>>> print(alien_0)
{'color': 'green'}
>>>
遍历字典
可以使用一个for循环来遍历这个字典:
>>> user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
>>> for key,value in user_0.items(): # items()返回一个键值对列表,for循环依次将每个键值对存储到两个变量中
print('Key:',key)
print('Vaule:',value)
Key: username # 返回顺序可能与存储顺序不同
Vaule: efermi
Key: first
Vaule: enrico
Key: last
Vaule: fermi
>>>
由于字典返回的元素在字典中的顺序不定,为了以特定的顺序返回元素,可以利用sorted()函数获得排序后的字典的副本再访问:
>>> favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
>>> for name in sorted(favorite_languages.keys()):
print(name.title() + ", thank you for taking the poll.")
Edward, thank you for taking the poll. # 按照ascii码顺序
Jen, thank you for taking the poll.
Phil, thank you for taking the poll.
Sarah, thank you for taking the poll.
>>>
如果想要查看字典中所有的键而不查看对应的值,可以利用方法keys():
>>> favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'c#',
}
>>> for name in favorite_languages.keys():
print(name)
jen
sarah
edward
phil
>>>
同理,想要只访问字典中的所有值,可以利用方法values():
>>> favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'c#',
}
>>> for value in favorite_languages.values():
print(value)
python
c
ruby
c#
>>>
由于在字典中键是唯一不可重复的,而值可能重复,故若想知道值的种类(去重后),可以使用集合set,通过对包含重复元素的列表调用set(),可让Python找出列表中独一无二的元素,并使用这些元素创建一个集合:
>>> favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'c#',
'bob':'c',
'john':'python'
}
>>> for value in set(favorite_languages.values()):
print(value)
python # 去重后
ruby
c#
c
>>>
判断某个键是否存在于字典中
if key in dict.keys():
...
也可以利用has_key()方法来查看
if dic.has_key(key):
...

浙公网安备 33010602011771号