Python基础-字典

Python里的字典dict,也就是和C++里的map一样,是一种由键值对组成的可变的无序的数据结构,即{键:值},键必须是不可变的数据类型(由于精度问题,不推荐用浮点数为键值),值可以是任意的数据类型。dict用hash的方法将大量的数据与键值配对,通过查询键值就可得到这些数据。

创建一个空字典:

a={} 或者

a=dict()

还可以用fromkeys的方法创建一个字典

a={}.fromkeys(seq[,value])

以seq里的元素为键,value为值的字典。value省略则以none为值。
b=[1,2,3,4]

a={}.fromkeys(b,[1,2,3])

a

{1: [1, 2, 3], 2: [1, 2, 3], 3: [1, 2, 3], 4: [1, 2, 3]}

插入键值:

a[5]=[1,2,3]

修改键值:

a[5]=[4,5,6]

删除某个键值:

del a[5]

a

{1: [1, 2, 3], 2: [1, 2, 3], 3: [1, 2, 3], 4: [1, 2, 3]}
或者删除整个字典:

del a

字典中的API

1.dict.get(key,default=none)  

其实也是索引,返回key对应的键值,与索引不同的是如果这个键值不存在,不会报错,而是返回default,default默认为none。

a.get(1)

[1,2,3]

print (a.get(5,'this key does not exist'))

this key does not exist

2.dict.pop(key,default=none)

删除并某个键值对,弹出它的值。如果不存在,返回default。

a.pop(1)

[1,2,3]

3.dict.clear()

清空字典。没什么好说的。

4.dict.update(new_dict) 

批量添加,修改字典。用新的字典添加,修改原来的字典。

b={1:[1,2,3],2:[3,4,5]}

a.update(b)

a

{1: [1, 2, 3], 2: [3, 4, 5], 3: [1, 2, 3], 4: [1, 2, 3]}

5.dict.setdefault(key,value)

用来查找某个键对应的值,返回该值。如果该键不存在,添加key-value到这个字典,返回value。value默认为none。

a.setdefault(1,0)

[1,2,3]

a.setdefault(5,0)

0

a

{1: [1, 2, 3], 2: [3, 4, 5], 3: [1, 2, 3], 4: [1, 2, 3], 5: 0}

6.dict.keys()、dict.values()、dict.items()

分别返回一个由字典中所有键键值对组成的序列。注意,python3中返回的不是列表,如果想要得到列表需要list()一下。

a.keys()

dict_keys([1, 2, 3, 4, 5])

a.values()

dict_values([[1, 2, 3], [3, 4, 5], [1, 2, 3], [1, 2, 3], 0])

a.items()

dict_items([(1, [1, 2, 3]), (2, [3, 4, 5]), (3, [1, 2, 3]), (4, [1, 2, 3]), (5, 0)]) 
每对键值对组成一个tuple,一起构成一个序列。
 
 7.dict.popitem() 

随机删除一对键值并返回该对键值

a.popitem()

(5,0)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值