python 字典

python字典类似于map,是一种可变容器模型,且可存储任意类型对象。

玩过字典的人应该晓得,字典中的键是唯一的,如果同一个键被两次赋值,后一个值会覆盖前一个,并且python中字典的键不能直接修改,因为键是hash。字典的键值对和list不一样,他是无序的,所以只能通过键的名字来索引。

删除字典的一个键值对用del命令,返回一个键对应的值用get()方法。

dicts = {"name":"傻丫头","age":20,"sex":"W"}   # 定义一个字典
dicts["height"]=170   # 新增一个键值对
print(dicts)
> {'name': '傻丫头', 'age': 20, 'sex': 'W', 'height': 170}


del dicts['height']  # 删除一个键值对
print(dicts)
> {'name': '傻丫头', 'age': 20, 'sex': 'W'}


print([(k,v) for k,v in dicts.items()])  # 以列表返回可遍历的(键,值)元组数组
> [('name', '傻丫头'), ('age', 20), ('sex', 'W')]



print(dicts.keys())  #以列表返回一个字典所有的键
print(dicts.values()) #以列表返回字典中的所有值
> dict_keys(['name', 'age', 'sex'])
> dict_values(['傻丫头', 20, 'W'])


# 返回指定键的值,如果值不在字典中返回default值  , default = "not available",不能加default=
print(dicts.get("weight"),"not available") 
> None not available


# 和get()类似,如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。
print(dicts.setdefault("x", None)) 
None

使用zip函数将列表组合成字典dict,赋值函数加pop函数可以间接修改键的key值方法。

dicts = {"name":"傻丫头","age":20}   #定义一个字典



# 给可迭代对象赋值
seq = ['a','b']
dict1 = dict.fromkeys(seq,["val1","val2"])  # 创建一个新字典,以序列seq中元素作为字典的键,val为字典所有键对应的初始值
print(dict1)
> {'a': ['val1', 'val2'], 'b': ['val1', 'val2']}


# 俩列表组合为字典
seq2 = ["11","22"]
m = dict(zip(seq,seq2))
print(m)
> {'a': '11', 'b': '22'}


dicts.update(dict1) #把字典dict1的键/值对更新到dicts里
print(dicts)
> {'name': '傻丫头', 'age': 20, 'a': ['val1', 'val2'], 'b': ['val1', 'val2']}

 
dicts["c"] = dicts.pop('a')   #间接修改键的key值方法,pop删除字典给定键所对应的值,返回值为被删除的值
> {'name': '傻丫头', 'age': 20, 'b': ['val1', 'val2'], 'c': ['val1', 'val2']}

听说,好看的皮囊千篇一律,有趣的灵魂万里挑一,^_^^_^^_^,呃,,,今天的分享到这里就结束了,下次有时间再见哦,拜拜😊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值