python数据结构之字典
来源:互联网 发布:淘宝号心怎么升级最快 编辑:程序博客网 时间:2024/05/22 13:21
除开列表,字典是python中又一灵活的数据结构。二者的主要差别在于:列表是有序的对象集合,字典是无序的对象集合。且列表是按照偏移存取数据的,而字典是按照键存取数据的。
字典的创建
dict函数
>>> d=dict([('name','小明'),('sex','男')])
>>> d
{'name': '小明', 'sex': '男'}
或
>>> d=dict(name='小红',sex='女')
>>> d
{'name': '小红', 'sex': '女'}
直接赋值
>>> d={'name':'小刚','sex':'男'}
>>> d
{'name': '小刚', 'sex': '男'}
字典就是以一对对键值对显示的,其中,冒号左边的是键(key),冒号右边的是值(value),元素之间以逗号隔开。字典的值是唯一的,但值不是。
字典不是序列,它是映射关系对象的集合。但是它在操作上与其他序列有类似的地方。
通过键存取值
>>> d=dict(name='小明',sex='男')
>>> d
{'name': '小明', 'sex': '男'}
>>> d['age']=12
>>> d
{'name': '小明', 'sex': '男', 'age': 12}
>>> d['name']
'小明'
查看元素的长度(数量)
>>> len(d)
3
字典方法
1、clear清空字典中所有的键值对
>>> d=dict(name='小明',sex='男')
>>> d
{'name': '小明', 'sex': '男'}
>>> d.clear()
>>> d
{}
2.copy复制一个相同的字典副本
>>> d1=dict(name='小明',sex='男')
>>> d2=d1.copy()
>>> d1
{'name': '小明', 'sex': '男'}
>>> d2
{'name': '小明', 'sex': '男'}
3.get获取键对应的值,如果没有则返回None
>>> d.get('name')
'小明'
>>> print(d.get('age'))
None
4.items返回字典所有的键值对
>>> d={'name': '小明', 'sex': '男', 'age': 12}
>>> d.items()
dict_items([('name', '小明'), ('sex', '男'), ('age', 12)])
5.keys方法返回字典所有的键,values返回字典所有的值
>>> d.keys()
dict_keys(['name', 'sex', 'age'])
>>> d.values()
dict_values(['小明', '男', 12])
8.pop删除指定键值对,并返回它的值
>>> d={'name': '小明', 'sex': '男', 'age': 12}
>>> d.pop('age')
9.popitem随机删除一对键值对,并返回它。
>>> d={'name': '小明', 'sex': '男', 'age': 12}
>>> d.popitem()
('age', 12)
>>> d
{'name': '小明', 'sex': '男'}
>>> d.popitem()
('sex', '男')
>>> d
{'name': '小明'}
>>>
10.update根据另一字典的内容更新字典
>>> d1={'name': '小明', 'sex': '男', 'age': 12}
>>> d2={'name': '小红', 'sex': '女'}
>>> d1.update(d2)
>>> d1
{'name': '小红', 'sex': '女', 'age': 12}
字典推导
从python2.7开始,列表推导和生成器表达式的概念就应用到了字典上,于是就有了字典推导。字典推导能从以键值对作为元素的可迭代对象中构建出字典。如:
>>> animals_list=[('cat','猫'),('dog','狗'),('pig','猪'),('tiger','虎'),('wolf','狼')]
>>> animals_dict={e_name:c_name for e_name,c_name in animals_list}
>>> animals_dict
{'cat': '猫', 'dog': '狗', 'pig': '猪', 'tiger': '虎', 'wolf': '狼'}
- python数据结构之字典
- python数据结构之字典
- python数据结构之字典
- Python学习笔记-数据结构之字典
- Python数据结构之——字典
- python 数据结构六 之 字典与集合
- Python数据结构-字典
- Python数据结构--字典
- Python内存数据结构--字典
- python数据结构总结:字典
- Python基本数据结构之元组、集合与字典
- Python数据结构之映射(內建字典)
- Python数据结构之列表、栈、队列、链表、字典
- Python基础之数据结构(元组,列表,字典)
- 数据结构之字典树
- 数据结构之字典树
- 数据结构之字典树
- Redis数据结构之字典
- int main(int argc, char* argv[])
- 百度之星 2017初赛第一场 1001 小C的倍数问题
- 2017年8月12日训练日记
- UVA11090-Going in Cycle!!-最短路/图判环/二分
- hdu 6113 度度熊的01世界/2017 百度之星
- python数据结构之字典
- iWebSMS2000短信发送问题记录
- 为什么工厂模式是华而不实的—浅谈工厂模式的利与弊
- web.xml 中元素加载顺序及其详解
- Java Web开发环境搭建
- Java中switch理解
- N的阶乘 mod M(同余)
- myeclipse生成HTML格式的API帮助文档实例
- 关于TRIM的优化技巧