Python教程(6)

本文介绍了Python字典的基本操作,包括创建、访问、修改、删除键值对,以及遍历字典的方法。通过示例展示了如何使用字典存储个人信息,并演示了如何遍历字典的键、值和键值对。此外,还讨论了字典列表和在字典中存储字典的嵌套结构。
摘要由CSDN通过智能技术生成

6 字典

字典可以为各种真实的物体建模,可以创建表示一个任何事物的字典,然后想在其中存储多少信息就存储多少信息。

6.1 创建一个简单的字典

print("下面来创建一个字典:")
# 创建了一个关于人的列表,存储了姓名、性别、国家
person = {'name': 'Charlie Puth', 'sex': 'male', 'country': 'USA'}
print(person['name']) # 使用健来访问相关联的值
print(person['sex'])
print(person['country'])

6.2 使用字典

6.2.1 访问字典

  • 在Python中,字典是一系列健—值对,每一个键都与一个值相关,可以使用键来访问与之相关联的值。

  • 与键相关联的值可以是数字、字符串、列表乃至字典。

    number = {'No': 1, 'words': ['1', '2', '3', '4']}  # 创建一个字典,里面包含一个两个健,其中一个是列表
    print(number['No'])  # 使用健-值访问其中的元素
    print("列表为:" + str(number['words']))  # 使用健-值打印这个列表
    for value in number['words']:  # 遍历这个列表
        print(value)
    

6.2.2 添加健-值对

  • 字典是一种动态结构,可以随时在其中添加键-值对,要添加健-值对,可依次指定字典名,用方括号括起和相关联的值。

    person = {'name': 'Charlie Puth', 'sex': 'male', 'country': 'USA'}  # 创建一个字典
    print("原字典内容是:" + str(person))  # 打印字典内容
    person['age'] = 32  # 添加两组健-值对
    person['career'] = 'singer'
    print("添加健-值对后,字典内容为:" + str(person))  # 打印添加健-值对后的字典
    

6.2.3 修改字典中的值

  • 要修改字典中的值,可以依次指定字典名,用方括号括起的健以及与该健相关联的新值。
print("尝试修改字典:")
person = {'name': 'Charlie Puth', 'sex': 'male', 'country': 'USA'}  # 创建一个字典
print("打印原字典:" + str(person))  # 打印原字典
person['name'] = 'Little Mix'  # 修改name健对应的值
person['sex'] = 'female'  # 修改sex健对应的值
print("修改过后的字典是:" + str(person))  # 打印修改过后的字典

6.2.4 删除健-值对

  • 对于字典中不再需要的信息,可使用del语句将相应的健-值对彻底删除。

  • 使用del语句时,必须指定要删除的字典名和要删除的键名。

    print("尝试删除字典中的键:")
    person = {'name': 'Charlie Puth', 'sex': 'male', 'country': 'USA'}  # 创建一个字典
    print("打印原字典:" + str(person))  # 打印原字典
    del person['sex']  # 删除键sex
    print("删除过后的字典是:" + str(person))  # 打印删除过后的字典
    

6.3 遍历字典

6.3.1 遍历字典中的键-值对

  • 使用for循环来遍历字典

    print("尝试用for循环遍历字典:")
    person = {'name': 'Charlie Puth', 'sex': 'male', 'country': 'USA'}  # 创建一个字典
    for key, value in person.items():  # 使用了方法item(),它放回一个键-值队列表
        # 接下来,for循环依次将每个键-值存储到指定的两个变量中。
        print("\nkey:" + key)
        print("value:" + value)
    

6.3.2 遍历字典中的所有键

  • 在不需要用到字典中的值时,keys( )方法很有用,使用它可以遍历字典中所有的键;

    print("尝试遍历字典的键:")
    person = {'name': 'Charlie Puth', 'sex': 'male', 'country': 'USA'}  # 创建一个字典
    print("在字典中,有以下一些键:")
    for key in person.keys():  # 使用方法keys()遍历字典的键
        print(key.title())
        print("与之对应的值是:" + person[key])  # 也可以通过键来获取值
    
  • 使用sorted( )函数来获取按照特定顺序排列的值

    person = {'name': 'Charlie Puth', 'sex': 'male', 'country': 'USA', 'age': 32, 'career': 'singer'}
    print("按照特定的顺序打印键:")
    for key in sorted(person.keys()):  # 使用函数sorted()
        print(key.title())
    

6.3.3 遍历字典中的所有值

  • 也可以使用方法value( )来遍历字典的列表;

    print("尝试遍历一个链表中的所有值:")
    print("下面是字典中的值")
    for value in person.values():  # 使用方法values()来遍历字典的值
        print(value)
    
  • set( )可以让Python找出列表中独一无二的元素。

    person = {'name': 'Charlie Puth', 'sex': 'male', 'country': 'USA', 'age': 32, 'career': 'singer', 'sec': 'male'}
    # 创建一个字典,具有两个相同的值
    print(person)
    for value in set(person.values()):  # 使用set()函数来处理相同的值
        print(value)
    

6.4 嵌套

6.4.1 字典列表

  • 可以将一系列同一类型的字典放在一个列表中。

    print("尝试着创建一个字典列表:")
    person_1 = {'name': 'Tom', 'sex': 'male', 'country': 'UK'}
    person_2 = {'name': 'Jack', 'sex': 'male', 'country': 'USA'}
    person_3 = {'name': 'Li ping', 'sex': 'female', 'country': 'CH'}
    
    persons = [person_1, person_2, person_3]
    for person in persons:  # for语句打印这个字典列表
        print(person)
    

6.4.2 在字典中存储字典

people = {'person_1': {'name': 'Tom', 'sex': 'male', 'country': 'UK'},
          'person_2': {'name': 'Jack', 'sex': 'male', 'country': 'USA'},
          'person_3': {'name': 'Li ping', 'sex': 'female', 'country': 'CH'}
          }

for person, in_fo in people.items():  # 使用for循环来遍历这个字典,将健传给person,将值传给in_fo
    print("\nusername:" + person)  # 打印健名
    msg = in_fo['name'] + ' ' + in_fo['sex'] + ' ' + in_fo['country']  # 将被包含字典中的值组成一个字符串
    print(msg)  # 输出这个字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值