字典
字典的增删改查
增加:d[‘name’] = name
删除: pop()、popitem()、del、clear()
查找:get()
d = {}
# 增
d['name'] = '老王'
d['age'] = 12
d['school'] = '1中'
d['address'] = 'china'
print(d)
#删
d.pop('age')
print(d)
d.popitem() #随机删除一个键值对 字典是无序的
print(d)
del d['name']
print(d)
d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
d.clear() # 全部删除
print(d)
#查找
d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
name = d['name']
print(name)
age = d.get('age')
print(age)
age = d.get('age1')
print(age) # 不报错 get当找不到时返回None
#改
d['name']='老刘'
print(d)
输出结果:
练习:在一个字典中输入三个键值对
d = {}
for i in range(3):
key = input("请输入三个键")
value = input("请输入三个值")
d[key] = value
print(d)
字典的合并
update
d = {'name': '老王', 'age': '12'}
d1 = {'性别': '女'}
d.update(d1)
print(d)
输出结果
setdefault
d = {'name': '老王', 'age': '12'}
d.setdefault('name',"老刘")
print(d)
d.setdefault('name1',"老刘")
print(d)
输出结果:
字典获取键、值、键值对及求字典的长度
d.keys() d.values() d.items() d.len()
d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
keys = d.keys()
print(keys)
values = d.values()
print(values)
items = d.items()
print(items)
print(len(d))
输出结果:
字典的遍历 in 和 not in
d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
for i in d:
print(i)
print(d[i])
输出:
d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
for i in d.values()
print(i)
输出:
d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
print('name' in d)
for k,v in d.items():
print(k,v)
输出:
***能当作字典的键: 字符串 整数 浮点数 布尔 元组
不能的 : 列表 字典
练习:设计一个管理系统可以增删改查个人信息
d = [] # 装所有人的信息
a = True
while a:
i = int(input("请选择功能1-增加 2-查找 3-修改 4-删除 5-列出所有信息 6-退出"))
if i == 1:
print("请输入信息")
l = {}
name = input("姓名")
age = input("age")
gender = input("性别")
l['name'] = name
l['age'] = age
l['gender'] = gender
print(l)
d.append(l)
elif i == 2:
name = input("要查找的姓名")
# d=[{},{},{},{}]
flag = False
for d1 in d:
if d1.get('name') == name:
print('姓名:{}\n年龄:{}\n性别:{}\n'.format(name, d1.get('age'), d1.get('gender')))
flag = True
break
if not flag:
print("查无此人")
elif i == 3:
name = input("请输入要修改的人的姓名")
flag = False
for d1 in d :
if d1.get('name') == name:
while True:
num = int(input("找到此人你要修改什么 1-姓名 2-年龄 3-性别 4-退出修改"))
if num == 1:
name = input("请输入修改后的姓名")
d1['name'] = name
elif num == 2:
age = input("请输入修改后的年龄")
d1['age'] = age
elif num == 3:
gender = input("请输入修改后的性别")
d1['gender'] = gender
elif num == 4:
break
flag = True
break
if not flag:
print("查无此人")
elif i == 4:
name = input("要删除的人的姓名")
flag = False
for d1 in d:
if d1.get('name') == name:
d.remove(d1)
flag = True
break
if not flag:
print("系统中没有这个人")
elif i == 5:
for d1 in d:
print('姓名:{}\n年龄:{}\n性别:{}\n'.format(d1.get('name'), d1.get('age'), d1.get('gender')))
elif i == 6:
break
else:
print("您输入的数字无对应功能")
***为False的变量
l=[]
d={}
i=""
s=0
print(bool(l))
输出:False