python学习笔记——字典

字典
字典是一系列的键值对,每个键都与一个值相关联,你可以使用键来访问相关联的值。与键相关联的值可以是字符串列表乃至字典

  1. 创建一个字典
alien_0 = {}  #空字典
alien_0 = {'color' = 'green', 'point' = 5}  
  1. 修改键值
alien_0['color'] = 'yellow'
  1. 添加键值对
alien_0['X_position'] = 0
  1. 删除键值对
del alien_0['X_position']
  1. 定义多行字典
favorite_languages = {
    'jen': 'python',
    'sarah': 'C',
    'edward': 'ruby',
    'phil': 'python'
    }
  1. 使用get()来访问值

当使用放在括号内的键值从字典中获取值时,若指定的键不存在,会报KeyError。
使用get()方法可以在指定的键不存在时返回一个默认值,从而避免这样的错误。

alien_0 = {'color' = 'greeb', 'speed' = 'slow'}
#get()第一个参数用于指定键,第二个参数为指定的键不存在时要返回的值,若第二个参数不填,则默认键不存在时返回None。
point_value = alien_0.get('point','No point value assigned.')
  1. 遍历所有键值对
user_0 = {
    'username': 'efermi'
    'first': 'enrico'
    'last': 'fermi'
    }
#用for循环声明两个变量,用于存储键值对中的键和值,这两个变量可以使用任意名称。
for key,value in user_0.items():
    print(f'\nKey:{key}')
    print(f'Value:{value}')
  1. 遍历字典中的所有键
#以下两种方法输出一样,使用keys()方法让代码更容易理解,keys()返回一个列表,包含字典中所有键
for key in user_0:
    print(key.title())
for key in user_0.keys():
    print(key.title())
  1. 检查键是否在字典中
if 'age' in user_0.keys():
    print('age in user_0')
if 'age' not in user_0.keys():
    print('age not in user_0')
  1. 按特定顺序遍历字典中的所有键

遍历字典时是按照插入的顺序返回其中的元素。可以使用sorted()来获得按特定顺序排列的键列表的副本。

for name in sorted(favorite_lanuages.keys()):
    print(f'{name.title()}, thank you for taking the poll.')

11.遍历字典中的所有值

#列出所有值,不考虑是否重复
for language in favorite_langeages.values():
    print(language)
#使用set(),让python 找出列表中独一无二的元素,并使用这些元素来创建一个集合。
for language in set(favorite_laguages.values())
  1. 嵌套——列表中存储字典
alens = []
#创建30个绿色机器人
for alien_number in range(30):
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
    aliens.append(new_alien)
#将前三个外星人中的绿色外星人改为黄色外星人,将黄色外星人改为红色外星人
for alien in aliens[: 3]:
    if alien['color'] == 'green':
        alien['color'] = 'yellow'
        alien['speed'] = 'medium'
        alien['points'] = 10
    elif alien['color'] == 'yellow':
        alien['color'] = 'red'
        alien['speed'] = 'fast'
        alien['points'] = 15
#显示前5个外星人
for alien in aliens[:5]:
    print(alien)
  1. 嵌套——在字典中存储列表
favorite_languages = {
    'jen': ['python', 'ruby'],
    'sarah': ['C'],
    'edward': ['ruby', 'go'],
    'phil': ['python', 'haskell'],
    }
for name, languages in favorite_language.items():
    print(f'\n{name}'s favorite languages is:')
    for language in languages:
        print(language)
  1. 在字典中存储字典
users = {
    'aeinstein':{
        'fisrt': 'albert',
        'last': 'einstein',
        'location': 'princeton'
        },
    'mcurie':{
        'fisrt': 'marie',
        'last': 'curie',
        'location': 'paris'
        }
    }
for user_name, user_info in users.items():
    full_name = user_info['first'] + user_info['last']
    location = user_info['location']
    print(f'{user_name}的全名是{full_name},住址为{location}')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值