第六章 字典

6.1 使用字典

  • 字典使用一系列键-值对
  • 每个键都与一个值相关联,使用键来访问与之相关联的值
  • 键:数字、字符串
  • 值:数字、字符串、列表、字典
alien_0={'color':'green','points':5}

6.2.1 访问字典中的值

  • 要获取与键相关联的值,可依次指定字典名和放在方括号内的键
alien_0={'color':'green'}
print(alien_0['color'])

6.2.2 添加键-值对

  • 字典是一种动态结构,可随时在其中添加键-值对。
  • 要添加键-值对,可依次指定字典名,用方括号括起来的键和相关联的值。
alien_0={'color':'green'}
alien_0['1']='apple'
alien_0['2']='banana'
print(alien_0)

6.2.3 创建一个空字典

  • 使用一对空的{}定义一个字典,再分行添加各个键-值对
alien_0={}
alien_0['1']='apple'
alien_0['2']='banana'
print(alien_0)

6.2.4 修改字典中的值

  • 修改字典的值,可依次指定字典名,用方括号括起来的键对应要修改的值
alien_0={}
alien_0['1']='apple'
alien_0['2']='banana'
print(alien_0)
alien_0['1']='tomato'
print(alien_0)

image

6.2.5 删除键-值对

  • 使用del语句将对应的键-值彻底删除

删除的键值对永远消失了

alien_0={}
alien_0['1']='apple'
alien_0['2']='banana'
print(alien_0)
del alien_0['1']
print(alien_0)

image

6.3 遍历字典

6.3.1 遍历所有的键-值对

  • 使用对象.items()方法来实现
user={
    'name':'lyy',
    'age':13,
    'sex':'女',
      }
for k,v in user.items():
    print("key",k,"value",v)

image

6.3.2 遍历字典中的所有键

  • 使用对象.keys()调用
user={
    'name':'lyy',
    'age':13,
    'sex':'女',
      }
for k in user.keys():
    print("key",k)

image

6.3.3 按顺序遍历字典的所有值

  • 在for循环中对返回的键进行排序,使用sorted()函数
  • 排序:数字从小到大,字母从a-z
user={
    'name':'lyy',
    'age':13,
    'sex':'女',
      }
for k in sorted(user.keys()):
    print("key",k)

image

6.3.4 遍历字典中的所有值

  • 使用对象.values()来遍历字典中的值
user={
    'name':'lyy',
    'age':13,
    'sex':'女',
      }
for v in user.values():
    print("value",v)

image

  • 使用set()去除重复项
user={
    'name':'lyy',
    'age':13,
    'sex':'女',
    'age1':13
      }
for v in set(user.values()):
    print("value",v)

image

6.4 嵌套

  • 需要将一系列字典存储在列表中,或将列表作为值存储在字典中

6.4.1 字典列表

  • 字典嵌入在列表中
user1={'name':'lyy','age':13}
user2={'name':'lyy','age':13}
user3={'name':'lyy','age':13}

users=[user1,user2,user3] #字典嵌在列表中
for user in users:
    print(user)

6.4.2 在字典中存储列表

  • 列表嵌入到字典中
user1=["lili",15]
user2=["xixi",13]
users={1:user1,2:user2}#列表嵌入字典
for k,user in users.items():
    print(k,user)

image

6.4.3 在字典中嵌入字典

  • 字典嵌入字典
user={
    'user1':{
        'name':"lili",
        'age':15
        },
    'user2':{
        'name':"xixi",
        'age':13
        },
  }
for k,v in user.items():
    print(k,v)
    for k1,v1 in v.items():
        print(k1,v1)

image

牛客刷题-元组(62-66)+字典(67-75)

1. 修改报名名单(63)

image

entry_form=('Niuniu','Niumei')
print(entry_form)
try:
   entry_form[1] = 'Niukele'
except:
    print('The entry form cannot be modified!')

2. 输出前三名学生的名字(64)

  • tuple()可以将字符串数组转换为元组

image

a=input().split(" ")
a=tuple(a)
print(a[:3])
  • 多个元组组合:+

3. 姓名和学号(69)

image

my_dict_1={'name': 'Niuniu','Student ID': 1}
my_dict_2={'name': 'Niumei','Student ID': 2}
my_dict_3={'name': 'Niu Ke Le','Student ID': 3}
dict_list=[]
dict_list.append(my_dict_1)
dict_list.append(my_dict_2)
dict_list.append(my_dict_3)
my_dict_v=[]
for my_dict in dict_list:
    print("{}'s student id is {}.".format(my_dict['name'],my_dict['Student ID']))

4.生成字典(72)

  • dict()
  • zip(数组1,数组2)

image

a=input().split(" ")
b=input().split(" ")
print(dict(zip(a,b)))

5. 使用字典计数

image

a=input()
b={}
for zimu in a:
    if zimu not in b: #判断key是否在
        b[zimu]=1
    else:
        b[zimu]+=1  #给value+1
print(b)
posted @   Trouvaille_fighting  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示

目录导航