python必会系列之 字典的常见用法

字典的增删改查

1:字典的增加和修改

dict1 = {}  ###定义一个空的字典
##字典的增加
# 基本格式:dict1['key'] = 'value'  注意:增加的key是用中括号包裹的
dict1['name'] = 'yz'
dict1['age'] = '18'
print(dict1)

##字典的修改
dict1['name'] = 'abc'
print(dict1)

总结:按照上面的格式,如果字典中存在同名的key则实现的是修改的功能,如果没有同名的key则实现的是添加的功能

{'name': 'yz', 'age': '18'}
{'name': 'abc', 'age': '18'}

2:简单的用户注册

print('---------欢迎注册账户------------')
user= {}
database= []
while True:
    a= input("是否注册用户:y/n")
    if a != 'y':
        break
    username = input("请输入用户名:")
    password = input("请输入密码:")
    repassword = input("请输入确认密码")
    email = input("请输入邮箱")
    user['username'] = username
    if password == repassword:
        user['password'] = password
        user['repassword'] = repassword
        user['email'] = email
        database.append(user)  ###将最后生成的字典的数据信息保存到列表中
    else:
        print("两次密码输入的不一致,请重新输入密码;")
        continue
    ans = input("是否继续注册用户y/n")
    if ans != 'y':
        break
power = input('是否查看用户:y/n')
if power == 'y':
    print(database)
else:
    print("欢迎下次使用")

3:字典的查询操作

进行字典的查询操作都是检索key值,得到相应value值

dict1 = {'a':100, 'b':98, 'c':100, 'd':99, 'e':98}
print(dict1['d'])  ##列表中是通过索引值来查找对应的元素,字典则是通过key值来检索相应的value

99

4:字典的循环遍历(默认遍历拿出的是key值)

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
for i in dict1:
    print(i)

a1
b2
c3
d4
e5

5:字典内的函数

items() ##将字典中的键值对转换成列表的形式进行保存,其中的每组键值对都变成了元组

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
print(dict1.items())
for i in dict1.items():
    print(i)
    print(type(i))

dict_items([('a1', 100), ('b2', 98), ('c3', 100), ('d4', 99), ('e5', 98)])
('a1', 100)
<class 'tuple'>
('b2', 98)
<class 'tuple'>
('c3', 100)
<class 'tuple'>
('d4', 99)
<class 'tuple'>
('e5', 98)

练习:找出字典中,考试成绩大于98的人

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
for key,values in dict1.items():   ##因为此时的每一个键值对变成了一个元组,根据元组的赋值特性,a,b = ("aa","bb"),此时就会将aa赋值给a,bb赋值给b。
    if values > 98:
        print(key)


a1
c3
d4

keys() ##取出字典中的key,并保存到列表中

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
sources = dict1.keys()
print(sources)

dict_keys(['a1', 'b2', 'c3', 'd4', 'e5'])

##将每个key值循环遍历出来
dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
sources = dict1.keys()
for i in sources:
    print(i)

a1
b2
c3
d4
e5

vlaues()##取出字典中所有的值并保存到字典中

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
print(dict1.values())
for value in dict1.values():
    print(value)


dict_values([100, 98, 100, 99, 98])
100
98
100
99
98


例题:求所有人成绩的平均分
dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
sources = dict1.values()
num = sum(sources)
avg = num/len(sources)
print(avg)

99.0

 

字典的删除操作

del dict[key]

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
del dict1['a1']
print(dict1)

{'b2': 98, 'c3': 100, 'd4': 99, 'e5': 98}

pop()函数:根据key去删除键值对,返回值是删除成功的键值对的值

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
result= dict1.pop('a1')
print(result)
print(dict1)

100
{'b2': 98, 'c3': 100, 'd4': 99, 'e5': 98}

popitem():随机删除字典中的键值对,默认返回的是被删除的那个键值对(一般是从末尾开始删除元素)

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
result= dict1.popitem()
print(result)
print(dict1)

('e5', 98)
{'a1': 100, 'b2': 98, 'c3': 100, 'd4': 99}
clear()清空列表
dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
dict1.clear()
print(dict1)


{}

列表的其他函数的用法(了解就好)

update 函数:类似于列表中的extend

dict1 = {'a1':100, 'b2':98, 'c3':100, 'd4':99, 'e5':98}
dict2 = {'a1': 00 ,'f6':100}
dict1.update(dict2)
print(dict1)

##相同key值的文件进行替换,没有key值的进行添加

{'a1': 0, 'b2': 98, 'c3': 100, 'd4': 99, 'e5': 98, 'f6': 100}

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值