python学习笔记——字典

简介:

字典:没有特殊的顺序,键可以是数字、字符串甚至是元组。

字典创建:用大括号括起来,每个键和它的值之间用“:”隔开,项之间用“,”隔开,空字典由两个大括号组成。

1、dict 函数

可以通过其它映射或者(键,值)这样的序列对建立字典

 >>> items = [('name','wisp'),('age',24)]
>>> items
[('name', 'wisp'), ('age', 24)]
>>> d = dict(items)
>>> d
{'age': 24, 'name': 'wisp'}
>>> d['name']
'wisp'
>>> d = dict(name='wisp',age=24)
>>> d
{'age': 24, 'name': 'wisp'}

2、字典的方法:

clear 方法:清除字典中所有的项,无返回值

 >>> d = {}
>>> d['name'] = 'wisp'
>>> d
{'name': 'wisp'}
>>> d.clear()
>>> d
{}

copy 方法:返回一个具有相同键-值对的新字典

 >>> d['name'] = 'wisp'
>>> b = d.copy()
>>> b
{'name': 'wisp'}
>>> d
{'name': 'wisp'}

>>> d.clear()
>>> d
{}
>>> b
{'name': 'wisp'}

fromkeys 方法:使用给定的键建立新的字典,每个键默认对应的值为None

 >>> {}.fromkeys(['a','b'])
{'a': None, 'b': None}

>>> dict.fromkeys(['a','b'])
{'a': None, 'b': None}
>>> dict.fromkeys(['a','b'],'wisp')
{'a': 'wisp', 'b': 'wisp'}

get 方法:更宽松的访问字典的方法

 >>> a={}
>>> print a['a']

Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    print a['a']
KeyError: 'a'
>>> print a.get('a')
None

has_key 方法:检查字典中是否含有给出的键,作用和in一样

 >>> a={'a':'wisp','b':'lhp'}
>>> a.has_key('a')
True
>>> a.has_key('c')
False
>>> 'a' in a
True
>>> 'c' in a
False

items 和 iteritems 方法:将字典转换成列表,返回新列表,不会修改原字典

 >>> a
{'a': 'wisp', 'b': 'lhp'}
>>> b = a.items()
>>> b
[('a', 'wisp'), ('b', 'lhp')]
>>> a
{'a': 'wisp', 'b': 'lhp'}

keys 和 iterkeys 方法:将字典中的键以列表形式返回

 >>> a
{'a': 'wisp', 'b': 'lhp'}
>>> b = a.keys()
>>> a
{'a': 'wisp', 'b': 'lhp'}
>>> b
['a', 'b']

pop 方法:获取给定键的值,并从字典中移除

 >>> a
{'a': 'wisp', 'b': 'lhp'}
>>> a.pop('a')
'wisp'
>>> a
{'b': 'lhp'}

popitem 方法:弹出一个随机项,并从字典中移除

 >>> a
{'a': 'wisp', 'b': 'lhp'}
>>> a.popitem()
('a', 'wisp')
>>> a
{'b': 'lhp'}

setdefault 方法:获取给定键对应的值,若不存在则添加

 >>> a
{'b': 'lhp'}
>>> a.setdefault('b')
'lhp'
>>> a.setdefault('a')
>>> a
{'a': None, 'b': 'lhp'}

update 方法:利用一个字典更新另外一个字典

 >>> a
{'a': None, 'b': 'lhp'}
>>> b = {'c':'111'}
>>> b
{'c': '111'}
>>> a.update(b)
>>> a
{'a': None, 'c': '111', 'b': 'lhp'}

values 和 itervalues 方法:和keys差不多,values是把值返回成列表

本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/857801如需转载请自行联系原作者


lihuipeng

相关文章
|
8天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
22 2
|
2月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
21 1
|
3月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
574 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
3月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
187 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
3月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
208 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
3月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
76 1
|
3月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
160 1
|
3月前
|
索引 Python
Python学习笔记编程小哥令狐~持续更新、、、(上)
Python学习笔记编程小哥令狐~持续更新、、、(上)
56 2
|
3月前
|
存储 Python
Python学习笔记编程小哥令狐~持续更新、、、 (下)
Python学习笔记编程小哥令狐~持续更新、、、 (下)
42 1
|
3月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
50 0
【免费分享编程笔记】Python学习笔记(二)