字典

字典

1.使用字典

  • 字典是一系列的键值对,每一个键都与一个值相关联
  • 与字典里的键相对应的可以是数、字符串、列表乃至字典

1.1 访问字典里的值

  • 获取字典里的值,可依次指定字典名和放在方括号内的键
    如:
alien_0 = ['color':'green']
print(alien_0['color'])

1.2 添加键值对

字典是一种动态结构,可以随时向里面添加键值对
添加键值对,要依次指定键名和对应的值
如:

alien_0 = ['color':'green']
alien_0['x'] = 0
alien_0['y']= 25

1.3 创建一个空字典

使用一组花括号来创建一个空字典
如:

aliens_1 = {}

1.4 修改字典中的值

修改字典中的值,依次指定字典名,要改变值对应的键,以及新的值
如:

alien_0 = ['color':'green']
alien_0['color'] = 'yellow'

1.5 删除键值对

使用del彻底删除字典中的键值对
如:

alien_0 = ['color':'green']
del alien_0['color']

注意:删除的键会永远消失

1.6 由类似对象组成字典

可以使用字典来存储一个对象的多种信息
如:

favorite_language = {
        'jen' : 'python',
        'sarah' : 'C',
        'edward':'ruby',
        }
language = favorite_language['sarah']
print(f"sarah's favorite language is {language}")

1.7 使用get()来访问值

使用方法get()访问字典中不存在的键时会返回一个默认值none,会避免报错
方法get()的第一个参数必须是指定的键,这是必不可少的,第二个参数为指定的键不存在时返回的值
如:

favorite_language = {
        'jen' : 'python',
        'sarah' : 'C',
        'edward':'ruby',
        }
value = favorite_language.get('jen','no key')
print(value)

2.遍历字典

2.1遍历字典所有键值对

user_0 = {
        'username' : 'efermi',
        'first' : 'enrico'.
        'last' : 'fermi',
        }
for key,value in user_0.items():
print(f"\nkey:{key}")
print(f"value:{value})
  • for循环中可声明简单的变量名,如k,v
  • for循环中声明的变量应该与字典的键值相对应,增加可读性

2.2 遍历字典所有键

favorite_language = {
        'jen' : 'python',
        'sarah' : 'C',
        'edward':'ruby',
        }
for name in favorite_language.keys():
     print(name.title())

2.3 按照特定顺序遍历字典中的所有键

favorite_language = {
        'jen' : 'python',
        'sarah' : 'C',
        'edward':'ruby',
        }
for name in sorted(favorite_language.keys()):
      print(name.title())
  • 使用函数sorted()来获取按照特定顺序排序的字典键列表的副本

2.4 遍历字典中所有值

  • 使用values()
favorite_language = {
        'jen' : 'python',
        'sarah' : 'C',
        'edward':'ruby',
        }
for language in favorite_language.values():
     print(language)
  • 为剔除重复项,可以使用set。set集合中的所有元素必须是唯一的
favorite_language = {
        'jen' : 'python',
        'sarah' : 'C',
        'edward':'ruby',
        }
for language in set(favorite_language.values()):
     print(language)
  • 集合和字典很容易混淆。它们都是用一对花括号来定义的,当花括号内没有键值对时,可能就是集合。

3.嵌套

有时候需要将一系列字典名称存储在列表中,或者将列表名作为值存储在字典中,这就称为 嵌套

  • 字典列表
  • 在字典中存储列表
  • 在字典中存储字典
posted @ 2021-11-26 17:58  写代码的小灰  阅读(46)  评论(0)    收藏  举报