python基础02

字典

字典的增删改查

增加: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值