字典,类比C++中的map
alien_0={'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])
green
5
对字典中不存在的key进行赋值相当于添加
alien_0['x_pos'] = 0
alien_0['y_pos'] = 25
print(alien_0)
{'color': 'green', 'points': 5, 'x_pos': 0, 'y_pos': 25}
{}默认创建一个空字典
alien_1 = {}
alien_1 = alien_0.copy()
print(alien_1)
{'color': 'green', 'points': 5, 'x_pos': 0, 'y_pos': 25}
del 可实现字典内容的删除
del alien_1['color']
print(alien_1)
{'points': 5, 'x_pos': 0, 'y_pos': 25}
使用items()方法对字典进行遍历
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
for key, value in user_0.items():
print(key + ':' + value)
username:efermi
first:enrico
last:fermi
使用keys()方法对字典的键进行遍历,也可以直接使用字典名称
for key in user_0.keys():
print(key.title())
print('\n')
for key in user_0:
print(key.title())
Username
First
Last
Username
First
Last
字典可以根据key排序
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in sorted(favorite_languages.keys()):
print(name.title())
Edward
Jen
Phil
Sarah
使用values()方法对字典的值进行遍历,返回的类型是字典值列表
for language in favorite_languages.values():
print(language.title())
print(type(favorite_languages.values()))
print(type(user_0.keys()))
Python
C
Ruby
Python
<class 'dict_values'>
<class 'dict_keys'>
用set()函数对值列表进行去重
for language in set(favorite_languages.values()):
print(language.title())
Python
Ruby
C
字典列表
alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'yellow', 'points': 10}
alien_2 = {'color': 'red', 'points': 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
print(alien)
{'color': 'green', 'points': 5}
{'color': 'yellow', 'points': 10}
{'color': 'red', 'points': 15}
字典的值可以是列表
favorite_languages = {
'jen': ['python', 'ruby'],
'sarah': ['c'],
'edward': ['ruby', 'go'],
'phil': ['python', 'haskell'],
}
for name, languages in favorite_languages.items():
print("\n" + name.title() + "'s favorite languages are:")
for language in languages:
print("\t" + language.title())
Jen's favorite languages are:
Python
Ruby
Sarah's favorite languages are:
C
Edward's favorite languages are:
Ruby
Go
Phil's favorite languages are:
Python
Haskell
字典的值也可以是字典
users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}
for user_name, user_info in users.items():
print('\nUsername: '+ user_name)
full_name = user_info['first'] + ' ' + user_info['last']
location = user_info['location']
print("\tFull name: "+ full_name.title())
print("\tLocation: " + location.title())
Username: aeinstein
Full name: Albert Einstein
Location: Princeton
Username: mcurie
Full name: Marie Curie
Location: Paris
网友评论