[Python]字典dict简介


字典是一种可变容器,可存储任意类型的键值对。

字典dict

python中用关键字dict标识字典,字典中键必须是不可变的(如字符串,数字或元组);值可以取任何数据类型:

  • 每个键值 key:value 对用冒号:分割;
  • 键值对之间用逗号 , 分割;
  • 整个字典包括在花括号 {} 中。
  • 通过使用{}或dict()来创建字典
data = {"one": 1, 3: "three", (1, 2): ["one", "two"]}
for k, v in data.items():
    print(k, v)

print(data[3])
print(data[(1, 2)])

字典操作

通过[键]来访问(访问不存在的键会抛出KeyError异常)、添加或修改字典里的值。

通过del来删除字典或里面的元素:

  • del myDict[K]:删除K元素(K不存在会抛出KeyError异常);
  • del myDict:删除整个字典;
  • myDict.clear():清空字典;
  • key in myDict/key not in myDict:判断键是否存在;

字典遍历

通过for循环可方便地遍历字典

遍历key

根据key遍历字典:

for key in dict_map:
    print(key, dict_map[key])
#等价于下面这种方式
for key in dict_map.keys():
    print(key, dict_map[key]) 
遍历value

遍历字典中的所有value:

for value in dict_map.values():
    print(value)
同时遍历key与value

遍历字典中的key与value:

for key, value in dict_map.items():
    print(key, value)
    
# 把key与value作为一个整体(元组)遍历
for kv in dict_map.items():
    print(kv)  # kv为 (key, value)

操作函数

内置函数

Python含了以下内置函数可操作字典:

序号函数及描述
1cmp(dict1, dict2)比较两个字典元素
2len(dict)计算字典元素个数,即键的总数
3str(dict)输出字典可打印的字符串表示
4type(variable)返回输入的变量类型,如果变量是字典就返回字典类型

内置方法

Python字典包含了以下内置方法:

序号函数及描述
1dict.clear()删除字典内所有元素
2dict.copy()返回一个字典的浅复制
3dict.fromkeys(seq [, val])创建一个新字典,以序列seq中元素作为字典的键,val为字典所有键对应的初始值(若val不提供,则使用None)
4dict.get(key, default = None)返回指定键的值,如果值不在字典中返回default值
5dict.has_key(key)如果键在字典dict中返回true,否则返回false
6dict.items()以列表返回可遍历的(键,值)元组数组
7dict.keys()以列表返回一个字典所有的键
8dict.setdefault(key, default=None),若键不存在于字典中,将会添加键并将值设为default,并返回;否则直接返回对应的值;
9dict.update(dict2)把字典dict2的键/值对更新到dict里
10dict.values()以列表返回字典中的所有值
11pop(key[,default])删除字典给定键key所对应的值,返回值为被删除的值。
12popitem()随机返回并删除字典中的一对键和值
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值