Python 字典常用方法总结

Bill78
• 阅读 1217

Python字典可存储任意类型对象,如字符串、数字、元组…… 优点:取值方便,速度快

1,创建字典

字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。基本语法如下:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数组或元组。

2,访问字典中的值

print(d['key']) 如果写了不存在的值会报错

print(d.get('key')) 如果写了不存在的值,返回None

print(d.get('key','not find ')) 如果找不到存在的值,返回 “not find”

print(d.keys())  #获取所有的key 值  
print(d.values()) #获取所有的value 值  
if  'key' in d:   #判断key是否存在  
 print('key')  
for k,v in d.items():   #遍历字典  
 print(k,v)

无须转换成list 格式,保留了字典原有的特性

for k in dict:
print(k,dict[k]) print(k,dict.get(k)) 取值速度快,性能好


_____3,修改字典_____

d['key'] = value key 存在即修改,key不存在即新增
d.setdefault('key',value) 只能新增

4,删除字典元素

d.pop('key')  必须要传值,因为字典是无序的  
d.popitem()  随机删除一个  
del d\['key'\]   
d.clear()  清空字典  

5,其他

print(dict.items()) 输出一个list格式(非真正意义上的list)
print(list(dict.items())) 把字典的key 和 value 转成一个多维list

![](https://img-hello-world.oss-cn-beijing.aliyuncs.com/56b7d955c8aa5eda4096a92ee9d8353a.png)
```

 输出结果:

```
 ![](https://img-hello-world.oss-cn-beijing.aliyuncs.com/f47f75d85e26bc568530fa60cce39f44.png) 
```

`len``(``dict``):计算字典元素个数,即键的总数。`

`str``(``dict``):输出字典可打印的字符串。`

`type``(variable):返回输入的变量类型,如果变量是字典就返回字典类型。`

6,字典的键必须初始化

如果视图访问一个字典中不存在的键,会导致一个keyerror。出行keyerror时,程序会由于运行时错误崩溃

用“in ”检查成员关系

```
if 'bananas' in fruits:  
 fruits\['bananas'\] += 1  
else :  
 fruits\['bananas'\] = 1  
查看“bananas”键是否在字典中,由于现在没有这个键,所以将它的值初始化为1,这样就能杜绝出行keyerror的可能性  
用“not in ”替换 “in”

if 'bananas' not in fruits:
fruits['bananas'] += 0 #初始化,如果需要
fruits['bananas'] += 1
使用setdefault 方法

`````` for letter in word:
if letter in vowels:
found.setdefault(letter,0)
found[letter] += 1
setdefault 可以保证把一个不存在的键初始化为一个指定的默认值,或者什么也不做(也就是说,已有的键的关联值将保持不变)

访问一个键之前,可以通过确保字典中的每个键都有一个关联值来避免keyerror。尽管这里in和not in 操作符可以提供帮助,不过更成熟的技术是使用setdault 方法

```

本文转自 https://www.cnblogs.com/chendai21/p/8137601.html,如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Karen110 Karen110
3年前
如何来理解Python中的字典数据类型
大家好,我是IT共享者,人称皮皮。今天给大家讲解下Python中的字典数据类型。一、前言字典是Python中的数据类型,可让将数据存储在键/值对中。二、什么是字典理解?字典理解是创建字典的一种优雅简洁的方法。字典理解优化使用字典理解优化函数。例:字典理解例:squaredictnum:numnumfornuminrange(1,1
Python进阶者 Python进阶者
3年前
如何来理解Python中的字典数据类型
大家好,我是IT共享者,人称皮皮。今天给大家讲解下Python中的字典数据类型。一、前言字典是Python中的数据类型,可让将数据存储在键/值对中。二、什么是字典理解?字典理解是创建字典的一种优雅简洁的方法。字典理解优化使用字典理解优化函数。例:字典理解例:squaredictnum:numnumfornuminrange(1,11)
陈占占 陈占占
2年前
python 字典
字典(dict):以键值对的方式存在,以大括号为标志、在字典里面键是不能修改的,值可以修改语法格式:字典名{key1:value1,key2:value2,.......}note:是无序的类型,建必须唯一,值不必。索引是以键为下标,不能索引键对应的值,键不能为列表特点:1.键值之间必须用冒号(:)隔开2.项与项之间必须用逗号(,)隔开3.字典中的键必须
Wesley13 Wesley13
3年前
4cast
4castpackageloadcsv.KumarAwanish发布:2020122117:43:04.501348作者:KumarAwanish作者邮箱:awanish00@gmail.com首页:
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
Python之dict详解
Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串、数字、元组等其他容器模型。本次主要介绍Python中字典(Dict)的详解操作方法,包含创建、访问、删除、其它操作等,需要的朋友可以参考下。字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:1.创建字典1234567\
小万哥 小万哥
1年前
Python - 字典1
字典用于存储键值对形式的数据。字典是一个有序、可更改的集合,不允许重复。从Python3.7版本开始,字典是有序的。在Python3.6及更早版本中,字典是无序的。字典用花括号编写,具有键和值:示例,创建并打印一个字典:Pythonthisdict"bra
Bill78
Bill78
Lv1
日落里有间小商店贩卖橘黄的温柔。
文章
32
粉丝
0
获赞
0