在 python中,字典 是一系列 键(key)-值(value)
对
每个键 都与一个值相关联,可以使用键来访问与之相关联的值
值(value) 可以是数字、字符串、列表乃至字典
一个简单的字典
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
green
5
创建空字典
alien_0 = {}
添加键-值对
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
{'x_position': 0, 'y_position': 25}
修改字典中的值
alien_0['x_position'] = 100
print(alien_0)
{'x_position': 100, 'y_position': 25}
删除 键-值对
del alien_0['x_position']
print(alien_0)
{'y_position': 25}
遍历字典
遍历所有的键-值对
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
items() 方法返回一个键-值对列表
print(favorite_languages.items())
dict_items([('jen', 'python'), ('sarah', 'c'), ('edward', 'ruby'), ('phil', 'python')])
for key,value in favorite_languages.items():
print("\nkey:" + key)
print("Value:" + value)
key:jen
Value:python
key:sarah
Value:c
key:edward
Value:ruby
key:phil
Value:python
遍历 字典中的所有键 keys() 方法
for name in favorite_languages.keys():
print(name.title())
Jen
Sarah
Edward
Phil
某些键 是否 在字典中
if 'erin' not in favorite_languages.keys():
print('erin is not in directory')
erin is not in directory
按顺序遍历字典中的 所有键 sorted() 方法
for name in sorted(favorite_languages.keys()):
print(name.title())
Edward
Jen
Phil
Sarah
遍历字典中的 所有值 values()方法
for language in favorite_languages.values():
print(language.title())
Python
C
Ruby
Python
重复元素的处理
set() 集合对重复元素的列表进行调整
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
for language in set(favorite_languages.values()):
print(language.title())
C
Python
Ruby
嵌套
需要将一系列字典存储在列表中,或将列表作为值存储在字典中
字典列表(将字典存在列表中)
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 username,user_info in users.items():
print('\nUsername' + username)
full_name = user_info['first'] + " " + user_info['last']
location = user_info['location']
print('\tFull name:' + full_name.title())
print('\tLocation' + full_name.title())
Usernameaeinstein
Full name:Albert Einstein
LocationAlbert Einstein
Usernamemcurie
Full name:Marie Curie
LocationMarie Curie