欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python基础(五)-字典

程序员文章站 2022-07-09 19:14:34
...

这一节主要了解 Python 中的字典

一个简单的字典

alien_0 = {'color':'green', 'points':'5'}
print(alien_0['color'])
print(alien_0['points'])
  • 输出结果
    Python基础(五)-字典

在字典中添加键值对

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


  • 输出结果
    Python基础(五)-字典

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

修改字典中的值

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)
  • 输出结果
    Python基础(五)-字典

删除键值对

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)
  • 结果
    Python基础(五)-字典

遍历字典

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))
  • 输出结果
    Python基础(五)-字典

  • 遍历字典中的所有键

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)
  • 遍历字典中的所有值
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))

字典嵌套

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)
  • 输出结果
    Python基础(五)-字典

  • 在字典中存储列表

alien_0 = {'color':'green', 'cars':['audi', 'bmw']}

for car in alien_0['cars']:
print(car)
  • 输出结果
    Python基础(五)-字典

  • 在字典中存储字典

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'])
  • 输出结果
    Python基础(五)-字典

alien 为键,car为值,先输出键,color 键对应的值,然后再输出 cars 键对应的值,试试字典嵌套字典,字典中又嵌套列表….感觉再作死!(最好别嵌套这么多)

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

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])
  • 结果
    Python基础(五)-字典

alien_0 是一个字典,字典的第一个value嵌套了字典,第二个value嵌套了字典同时字典中嵌套了列表。我想取得列表的第1个元素,那就一层一层来呗请看代码中的分析.
这么做的缺点是需要知道列表中存在该值….