Python基础(五)-字典

一个简单的字典

1
2
3
alien_0 = {'color':'green', 'points':'5'}
print(alien_0['color'])
print(alien_0['points'])
  • 输出结果

    image.png

在字典中添加键值对

1
2
3
4
alien_0 = {'color':'green', 'points':'5'}
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
  • 输出结果

    image.png

  • 分析

Python 不关心键值对的添加顺序,只关心键和值之间的关联关系

修改字典中的值

1
2
3
4
5
6
7
alien_0 = {'color':'green', 'points':'5'}

alien_0['x_position'] = 0
alien_0['y_position'] = 25
# 修改color为yellow
alien_0['color'] = 'yellow'
print(alien_0)
  • 输出结果

image.png

删除键值对

1
2
3
4
5
6
7
8
9
10
alien_0 = {'color':'green', 'points':'5'}

alien_0['x_position'] = 0
alien_0['y_position'] = 25
# 原来的字典
print(alien_0)

del alien_0['points']
# 删除points键对应的值后的字典
print(alien_0)
  • 结果

image.png

遍历字典

1
2
3
4
5
6
7
8
9
10
11
alien_0 = {'color':'green', 'points':'5'}

alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)

# 遍历所有键值对
for key, value in alien_0.items():
print("\nKey: "+key)
# print只能输出字符串,所有需要用`str()`强转
print("Value: "+str(value))
  • 输出结果

image.png

  • 遍历字典中的所有键
1
2
3
4
5
6
7
8
9
alien_0 = {'color':'green', 'points':'5'}

alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)

# 遍历所有键值对
for key, value in alien_0.keys():
print("\nKey: "+key)
  • 遍历字典中的所有值
1
2
3
4
5
6
7
8
9
alien_0 = {'color':'green', 'points':'5'}

alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)

# 遍历所有键值对
for value in alien_0.values():
print("Value: "+str(value))

字典嵌套

1
2
3
4
5
6
7
alien_0 = {'color':'green', 'points':'5'}
alien_1 = {'color':'yellow','points':'15'}
alien_2 = {'color':'blue', 'points':'25'}

aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
print(alien)
  • 输出结果

image.png

在字典中存储列表

1
2
3
4
alien_0 = {'color':'green', 'cars':['audi', 'bmw']}

for car in alien_0['cars']:
print(car)
  • 输出结果

image.png

在字典中存储字典

1
2
3
4
5
6
alien_0 = {'color':{'first':'green', 'two':'yellow'}, 'cars':{'first':'audi','two':'bmw'},}

for alien, car in alien_0.items():
print(alien)
print("\t" + car['first'])
print("\t" + car['two'])
  • 输出结果

image.png

  • 分析

alien 为键,car为值

先输出键,color 键对应的值,然后再输出 cars 键对应的值

试试字典嵌套字典,字典中又嵌套列表….感觉再作死!(最好别嵌套这么多

目前的做法不对,希望以后能找到更好的思路

1
2
3
4
5
6
7
8
9
10
11
12
13
14
alien_0 = {'color':{'first':'green', 'two':'yellow'}, 'cars':{'first':['audi','toyota'],'two':'bmw'},}
# 第一步创建一个列表取存储alien_0字典中的第一个键对应的值
list_1 = []
# 第二步遍历字典alien_0,将值放入创建的list_1列表中
for alien, car in alien_0.items():
list_1.append(car['first'])

print(list_1)
# 第三步判断该值是否存在列表中
for car_car in list_1:
if 'audi' in car_car:
print(car_car)
# 第四步 存在该值,则打印出来
print(car_car[1])
  • 结果

image.png

  • 分析

alien_0 是一个字典,字典的第一个value嵌套了字典,第二个value嵌套了字典同时字典中嵌套了列表。我想取得列表的第1个元素,那就一层一层来呗请看代码中的分析

  • 这么做的缺点是需要知道列表中存在该值….
小额支持我写出更好的文章~