关于python的字典(dict)的方法(附带解释)

字典是用来存储含索引关系或者对应关系的一种数据类型。例如存放姓名和成绩的对应关系,和年龄的对应关系等等。

dict={ ‘ 键1’:值1,‘键2’:值2,.......};

一个键只能对应一个值,而一个值可以被多个键共享。

如果键不唯一,则该键对应的值为最后一对键值的值。

字符串和数字都可以当作键,列表不可以当作键。

查找

1.dict[ 键1 ]=值1;直接返回要查找键所对应的值;键不存在的时候会报错。

2.dict.get( 键1 )=值1;用函数返回该键的值,键不存在的时候不会报错。

3.dict.a.setdefault( 键1 );如果键不在字典中,则插入默认值(None)为的键。 如果关键字在字典中,则返回关键字的值,否则返回默认值(None)。

修改与增加

dict[ 键1 ]=值1;如果键1存在,就修改其对应的值1,如果键1不存在,就增加该键值对(键1:值1)。

dict.update(dict1);将dict1中的键值对,批量增加到dict中(不限制两者的键值类型)。

删除

dict.pop( 键1 );删除(键1:值1)键值对,并返回值1,若没有该键会报错。

dict.pop( 键1 ,值);设置任意一个值,若该键存在,返回值1,避免该键不存在的时候报错。

dict.popitem();默认删除字典dict中最后一对键值对,并以元组(tuple)的形式返回该键值对。

del dict[ 键1 ];删除该键1对应的值1,不做返回,若该键不存在会报错。

dict.clear();将该字典dict中的所有键值对清空。

键和值

获取所有的键:

aa=dict.keys();type(aa)='dict_keys'。

aa1=list(aa);将aa转换为列表aa1,得到dict的所有键组成的列表。

aa2=tuple(aa);将aa转换为元组aa2,得到dict的所有键组成的元组。

获取所有的值:

bb=dict.values();type(bb)='dict_values'。

bb1=list(bb);将bb转换为列表bb1,得到dict的所有值组成的列表。

bb2=tuple(bb);将bb转换为元组bb2,得到dict的所有值组成的元组。

判断键是否在字典中:

键1  in  dict;返回一个bool类型,若键1在字典dict中,返回True。

字典的遍历

for i in dict:
    print(i)  #打印出字典dict中的所有的键。
    print(dict[i])  #打印出字典dict中的所有键对应的值。    

for i in dict.keys():
    print(i,type(i))  #打印出字典中的所有的键,以及该键的类型。
    
for i in dict.values():
    print(i,type(i))  #打印出字典中的所有的值,以及该值的类型。

其他

1. dict1=dict.copy();将字典dict中的所有键值对赋给字典dict1,两个字典地址不同,互不影响。

2.1. ditc1=dict.fromkeys(list1);生成一个新的字典,该字典的键为列表(list1)中的元素,该字典所有键的值为None,

2.2. dict2=dict.fromkeys(list1,值1);生成一个新的字典,该字典的键为列表(list1)中的元素,该字典所有键的值为值1。

以上两种方式中的列表(list1)可用元组(tuple1)代替

(此处的dict可以直接使用内置的数据类型dict,见下图)

根据键不会重复的特性,该方法可以对列表或元组去重:

3. d=dict.items();type(d)='dict_items'。得到字典dict中所有的键值对。

d1=dict(d);则d1为新字典,且d1==dict。

d2=list(d);则创建新列表d2,d2的元素为(键:值)键值对。

d3=tuple(d);则创建新元组d3,d3的元素为(键:值)键值对。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值