Python中字典 — 练习


前言

本文仅针对Python中字典相关知识点的学习和练习。


字典:
创建空字典方法:

例:names={} names=dict()

在给字典按键赋值时,如果字典中的键不在,则添加。如果存在,则就用新值替换旧值。

与字典相关的函数
  • zip()函数:将多个列表或元祖对应位置的元素组合成为元祖,并返回包含这些内容的zip对象。
  • tuple()函数:将Zip对象转换成元祖。
  • list()函数:将zip对象转换成列表。
与字典相关的命令

del :删除字典。
例:del dictionary
clear() :删除字典的全部元素。
例:dictionary.clear()
get():获得指定键的值。
例:

1.字典定义

  • 字典是另一种可变容器模型,且可存储任意类型对象。
  • 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中

2.字典键的特性

  • 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
  • 两个重要的点需要记住:
  1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
  2. 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。

3.创建字典

  1. 使用dict()
list = dict()#创建一个空字典
  1. 直接使用{}
list={'键1':'值1','键2':'值2',...,'键n':'值n'}

4.添加字典元素

# -*- coding: utf-8 -*-
"""
Created on Sat Dec  4 09:21:49 2021

@author: 小梁aixj
"""
students={'001':'xq',
          '002':'xw',
          '003':'xe',
          '004':'xr'}
key=input('输入学号:')
if key in students.keys():
    print('存在,不能添加。')
else:
    students[key]=input('输入名称:')
print(students)

5.更新字典元素

# -*- coding: utf-8 -*-
"""
Created on Sat Dec  4 10:42:29 2021

@author: 小梁aixj
"""

students={'001':'xq',
          '002':'xw',
          '003':'xe',
          '004':'xr'}
key=input('输入学号:')
if key in students.keys():
    students[key]= input('输入姓名:')
    print(students)
else:
    print('键[{}]不存在,不能进行更新。'.format(key))

6.根据字典进行添加和更新

"""
Created on Sat Dec  4 10:52:27 2021
@author: 小梁aixj
"""

students={'001':'xq',
          '002':'xw',
          '003':'xe',
          '004':'xr'}
xh=input('输入学号:')
xm=input('输入姓名:')
students.update({xh:xm})
print(students)

7.删除字典

方法1

# -*- coding: utf-8 -*-
"""
Created on Sat Dec  4 11:15:19 2021
@author: 小梁aixj
"""
students={'001':'xq',
          '002':'xw',
          '003':'xe',
          '004':'xr'}
# 使用del命令
print(students)

x=input('输入需要删除的姓名:')
if x in students.keys():
    del students[x]
    print(students)
else:
    print('不存在,错误删除。')

方法2

"""
Created on Sat Dec  4 11:15:19 2021
@author: 小梁aixj
"""
students={'001':'xq',
          '002':'xw',
          '003':'xe',
          '004':'xr'}
          
# 使用pop()函数
y=input('输入需要删除到学号:')
students1=students.pop(y)
print(students)

8.将字典拆分成键列表和值列表(迭代器)

"""
Created on Sat Dec  4 11:22:59 2021
@author: 小梁aixj
"""
students={'001':'xq',
          '002':'xw',
          '003':'xe',
          '004':'xr'}
k=students.keys()
v=students.values()
print()
print(k)
print(v)
print()
students_list=list(zip(students.keys(),
                   students.values()))
print(students_list)
print()

#将字典转换成键值元祖构成的列表
for x in students_list:
    print(x)

9.基于两个等长列表创建字典

方法1

# -*- coding: utf-8 -*-
"""
Created on Sat Dec  4 11:38:28 2021
@author: 小梁aixj
"""
cities= ['北京','上海','广州','深圳','宜宾','成都']
flowers=['菊花','玉兰','木棉','杜鹃','月桂','竹花']

#方法1
city_flower=dict()
for city,flower in zip(cities, flowers):
    city_flower[city]=flower
    
print(city_flower)

方法2

# -*- coding: utf-8 -*-
"""
Created on Sat Dec  4 11:38:28 2021
@author: 小梁aixj
"""
cities= ['北京','上海','广州','深圳','宜宾','成都']
flowers=['菊花','玉兰','木棉','杜鹃','月桂','竹花']

city_flower=dict(zip(cities, flowers))
print(city_flower)

10.遍历字典元素

方法1

# -*- coding: utf-8 -*-
"""
Created on Sat Dec  4 11:08:50 2021

@author: 小梁aixj
"""
students={'001':'xq',
          '002':'xw',
          '003':'xe',
          '004':'xr'}
          
for key in students.keys():
    print('{}:{}'.format(key, students[key]))

方法2

# -*- coding: utf-8 -*-
"""
Created on Sat Dec  4 11:08:50 2021

@author: 小梁aixj
"""
students={'001':'xq',
          '002':'xw',
          '003':'xe',
          '004':'xr'}
          
for key in students.keys():
    print('{}: {}'.format(key, students.get(key)))

运行样式

在这里插入图片描述

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁辰兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值