python-day05-study
Posted IT东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-day05-study相关的知识,希望对你有一定的参考价值。
1.字典:
是Python中唯一的一个映射类型,是用{}括起来的键值对组成;在dict中key是唯一的.在保存的时候,根据Key来计算出一个内存地址,然后将key – value保存在这个地址中,这种算法被称为hash算法.所key是可哈希的. 可以改变的都是不可哈希的
已知的哈希类型:int str tuple bool
不可哈希(可变)的数据类型:list,dict,set
语法:{key1:value,key2:value…} key是不可变的 所以key不能是list,dict,set
2.字典的增删改查:
增:
dic = {}
dic[‘name’] = ‘周星星’ 如果dict中没有这个key,就会新增一个dict {‘name’:’周星星’}
如果有则会覆盖
dic.setdefault(‘李嘉诚’,’房地产’) 如果dict中没有key 则增加个dict {‘李嘉诚’:’房地产’}
如果有则原dict不变
删:
dic.pop(key) 删除key指定的dict 返回值是value
dic.itempop() 随机删 返回值 (key, value)
dic.clear() 清空字典
del dic[key] 删除key指定的dict
改:
dic{key} = ‘ ddd‘ 原tuple有key 覆盖即修改
dic = {‘国际章‘:‘汪峰的老婆‘,‘马桶‘:‘脏‘,‘马蓉‘:‘王宝强的前任老婆‘,‘王建立‘:10000}
dic[‘王建立‘] = dic[‘王建立‘] – 500
dic1 = {"id": 123, "name": ‘sylar‘, "age": 18}
dic2 = {"id": 456, "name": "麻花藤", "ok": "wtf"}
dic1.update(dic2) 将dic2放到dic1中 同样key的覆盖,不同的添加
查:
1.print(dic[‘key’]) 如果没有key 报错
2.dic.setdefault(‘key’) 如果有 返回key对应的value
用法:ret = dic.setdefault(‘key’,’value’)
print(ret)
如果dict中没有对应的key,会先添加到dict中 在返回value
如果dict中有key 直接返回原dict中key对应的value
3.print(dic.get(‘key’) ) 如果没有 返回None
print(dic.get(‘key’,’没有值’) )如果没有 后边可添加默认值, 即返回 ’没有值’ 如果有直接拿到值
3.dict的其他操作:
dic = {"id": 123, "name": ‘sylar‘, "age": 18, "ok": "科比"}
print(dic.keys()) #dict_keys([‘id‘, ‘name‘, ‘age‘, ‘ok‘]) 打印出dic中所有的key 伪列表
可以用for循环:
for key in dic.keys():
print(key)
print(dic.values()) # dict_values([123, ‘sylar‘, 18, ‘科比‘] 打印出dic中所有的value 伪列表: 可以用for循环:
for value in dic.values()
print(value)
print(dic.items()) # dict_items([(‘id‘, 123), (‘name‘, ‘sylar‘), (‘age‘, 18), (‘ok‘, ‘科比‘)]) 这个东西也是list. 只不不过list中装的是tuple
for key,value in dic.items(): #解构
print(key,value)
4.解构:
a,b = 1,2
print(a,b)
(c,d) = 3,4
print(c,d) #解构的时候注意数量必须匹配
5.字典的嵌套:
以上是关于python-day05-study的主要内容,如果未能解决你的问题,请参考以下文章