文章目录
前言
本文仅针对Python中字典相关知识点的学习和练习。
字典:
创建空字典方法:
例:names={} names=dict()
在给字典按键赋值时,如果字典中的键不在,则添加。如果存在,则就用新值替换旧值。
与字典相关的函数
- zip()函数:将多个列表或元祖对应位置的元素组合成为元祖,并返回包含这些内容的zip对象。
- tuple()函数:将Zip对象转换成元祖。
- list()函数:将zip对象转换成列表。
与字典相关的命令
del :删除字典。
例:del dictionary
clear() :删除字典的全部元素。
例:dictionary.clear()
get():获得指定键的值。
例:
1.字典定义
- 字典是另一种可变容器模型,且可存储任意类型对象。
- 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
2.字典键的特性
- 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
- 两个重要的点需要记住:
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
- 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
3.创建字典
- 使用dict()
list = dict()#创建一个空字典
- 直接使用{}
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)))