Python: Dict字典常用方法

dict字典

{'name':'holle'}字典存储大量关联型数据,可迭代的,最多只有200个键。查询数据速度非常快,符合二分查找(有100个数比如找75会先找到50然后判断,所以2^7次方7次即可找到)字典的key是唯一不可变的。

在python中,可迭代对象包括列表、元组、字典、字符串;我们常结合for循环使用。所以这里的迭代有一定的意思就是能够放在 for i in 后面的元素了。我们其实也可以把这种类型的元素认为是一种容器,最粗浅的理解,就是可以存放很多类型数据的盒子。

3.6以前的版本字典是无序的。之后也是无序但显示有序

  • key:不可变的数据类型(可哈希) 比如:str bool tuple int 类型
  • value:可以是任一数据类型;

一、添加元素:

dic = {"name": "jin", "age": 18}
dic['sex'] = 'man'  #添加键-值对
dit1 = dic.fromkeys('abcd', 'hello')
dit2 = dic.fromkeys(['a', 'b', 'c'], 'hello')
dit1['e']= 'world'
dit2['a'].append('wold')

二、删除元素:

dic.pop('age')  #删除某个键-值对
dic.clear()     #清空字典
del  dic        #在内存中彻底删除字典
del  dic('age') #也可以按key删除,找不到报错
dic.popitem()   #随机删除,返回一个元组 (key, value)

三、修改元素:

dict1 = {'name': 'jin', 'age': 18, 'sex': 'male'}
dict2 = {'name': 'alex', 'weight': 75}
# 将dict1的内容覆盖更新到dict2中,dict1中的内容不变 
dict2.update(dict1)
dict1['age']= 19

四、查询元素:

#dic['name']         直接按key值查 找不到报错
#get()               dic.get('name')如果有这个键返回对应的value值,没有这个键会返回None   -------用这个
                     dic.get('name','没有此key')也可以设置返回值
#dic.setdefault(key) 有返回value 没有返回None
#for      循环查找    单循环只输出 key的值 

dic = {'qwe': 233, 'aaa': 999}
for i in dic: #输出key 的值
    print(i)

for k, v in dic.items(): #输出key 和 value
    print(k, v)

     for i in dic.keys():
         print(i)      #获取到字典中的每一个键  
    
     for i in dic:
         print(i)     #获取到字典中的每一个键

     for i in dic.values():
         print(i)     #获取到字典中的每一个值

     for i in dic.items():
         print(i)       #获取到字典中的所有键值对

#keys()           返回列表所有的键值key在一个容器中(高仿列表),可以使用for循环遍历,或者list()类型转换变为一个列表。

dict2 = {'name': 'alex', 'weight': 75}
    print(dict2.keys())    输出:dict_keys(['name', 'weight'])
for i in dict2.keys():
    print(i)           输出:name weight 类型为字典中的原类型

五、解构和重构

a,b,c= (1,2,5)
a,b,c= [1,2,5]
a,b,c= '125'
a,b,c= {'1':10, '2':20, '3':30}
print(b,c)

dic = {"name": "jin", "age": 18}
k,v= dic.keys(), dic.values()  #解构
nd= dict(zip(k,v))             #重构

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值