5200.5 Dictionaries

06 DICTIONARIES

在Python里面,dictionary 是由一对花括号包裹{},里面包含一系列的键值对。

要访问一个key的value,可以通过[]获取。

alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])

添加 & 修改

dictionary 是动态的结构,添加一个键值对,可以通过一个键的名称添加:

alien_0 = {'color': 'green', 'points': 5}
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)

修改可以直接用一个值去覆盖原有的值

alien_0['color'] = 'yellow'

get获取

通过[]的形式获取值,如果没有这个键的时候会出现错误。 通过get获取,可以提供一个没有键的返回值。 如果没有提供返回值,则返回null

alien_0 = {'color': 'green', 'speed': 'slow'}
point_value = alien_0.get('points', 'No point value assigned.')
print(point_value)

循环

循环一个dictionary有多种方式。

  • for key, value in user_0.items()
  • for name in favorite_languages.keys()
    • 不加keys,默认也是返回keys。for name in favorite_languages
  • for language in favorite_languages.values()

嵌套

列表可以嵌套Dictionary dictionary 里面的value可以是list。

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)
# Make 30 green aliens.
for alien_number in range(30):
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
    aliens.append(new_alien)
 
# Show the first 5 aliens.
for alien in aliens[:5]:
    print(alien)
    print("...")
 
# Show how many aliens have been created.
print(f"Total number of aliens: {len(aliens)}")

你也可以在 dictionar 里面嵌套 dictionary ,但是不建议在 dictionar 里面嵌套很深。否则代码会变得越来越复杂。