博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字典的‘魔法’方法
阅读量:5336 次
发布时间:2019-06-15

本文共 1893 字,大约阅读时间需要 6 分钟。

字典的key是一个可哈希的值,字典的value可以是任何值。

  • keys():返回键
1 a = {
'a':1,'b':2,'c':3,'d':4}2 print(a.keys())3 #结果:dict_keys(['a', 'b', 'c', 'd'])
  • values():返回键对应的值
1 a = {
'a':1,'b':2,'c':3,'d':4}2 print(a.values())3 #结果:dict_values([1, 2, 3, 4])
  • items():返回键和值
1 a = {
'a':1,'b':2,'c':3,'d':4}2 print(a.items())3 #结果:dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])

keys遍历出来

1 a = {
'a':1,'b':2,'c':3,'d':4}2 for i in a.keys():3 print(i)4 #结果:5 '''a6 b7 c8 d'''

values遍历出来

1 a = {
'a':1,'b':2,'c':3,'d':4}2 for i in a.values():3 print(i)4 #结果:5 '''16 27 38 4'''

items遍历出来

1 a = {
'a':1,'b':2,'c':3,'d':4}2 for i in a.items():3 print(i)4 #结果:5 '''('a', 1)6 ('b', 2)7 ('c', 3)8 ('d', 4)'''
  • get():根据key获取值,key不存在时,可以指定默认值(None)
1 a = {
'a':1,'b':2,'c':3,'d':4} 2 t = a.get('a',465456) 3 print(t) 4 #结果:1 5 t1 = a.get('a') 6 print(t1) 7 #结果:1 8 t2 = a.get('s',45645) 9 print(t2) 10 #结果:45645 11 t3 = a.get('s') 12 print(t3) 13 #结果:None
  • pop()
  • popitem()

删除并获取键对应的值,可以指定删除键的默认值

1 dic = {
"k1": 'v1',"k2": 'v2'} 2 v = dic.pop('k1','sb') 3 print(dic,v) 4 #结果:{'k2': 'v2'} v1 5 v1 = dic.pop('k3','sb') 6 print(dic,v1) 7 #结果:{'k2': 'v2'} sb 8 k3,v3 = dic.popitem() 9 print(dic,k3,v3) 10 #结果:{'k1': 'v1'} k2 v2
  • setdefault()

设置字典的值。已存在,不设置,获取当前key对应的值;不存在,设置,获取当前key对应的值。

1 dic = {
"k1": 'v1',"k2": 'v2'}2 v = dic.setdefault('k1111','123')3 print(dic,v)4 #结果:{'k1': 'v1', 'k2': 'v2', 'k1111': '123'} 123 5 v1 = dic.setdefault('k1',1231)6 print(v1)7 #结果:v1
  • update()
1 dic = {
"k1": 'v1',"k2": 'v2'}2 dic.update({
'k1': '111111','k3': 123})3 print(dic)4 #结果:{'k1': '111111', 'k2': 'v2', 'k3': 123}5 dic1 = {
"k1": 'v1',"k2": 'v2'}6 dic1.update(k1=123,k3=345,k5="asdf")7 print(dic1)8 #结果:{'k1': 123, 'k2': 'v2', 'k3': 345, 'k5': 'asdf'}
  •  del 
1 dic = {
"k1": 'v1',"k2": 'v2'}2 del dic['k1']3 print(dic)4 #结果:{'k2': 'v2'}

 

转载于:https://www.cnblogs.com/dsynb/p/9107799.html

你可能感兴趣的文章
html的文字标记
查看>>
优先队列-优先级别
查看>>
jQuery实现,动态自动定位弹窗。JS分页,Ajax请求
查看>>
iis应用程序池 内存溢出错误 System.OutOfMemoryException
查看>>
2017.3.19 for
查看>>
MFC中的DLL、LIb文件的创建、使用
查看>>
LeetCode_Jump Game II
查看>>
无法将类型“int”隐式转换为“string”
查看>>
Android NETWORK_PROVIDER onLocationChanged不会被调用的部分原因
查看>>
快速排序算法所有版本的c/c++实现
查看>>
JVM基础知识2 垃圾收集器与内存分配策略
查看>>
Java课程设计——象棋(201521123042 姚佳希)
查看>>
IFrame实现页面无刷新
查看>>
JAVA如何正确地写出单例模式(转)
查看>>
写技术札记的生涯开始了!
查看>>
python之模块csv之CSV文件一次写入多行
查看>>
Axure 验证码、进度条、分页条(翻页)、搜索框、选项卡
查看>>
js发送邮件
查看>>
EXT.NET 使用 Ueditor编辑器,并在后台获取的方法
查看>>
[转]简易下拉框式日期选择器(带闰平年判断)
查看>>