python基础之字典dict和集合set
作者:tongqingliu
转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html
python基础之字典dict和集合set
字典dict
字典使用键值对存储,具有极快的查找速度。
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} # 创建字典
>>> d
{'Michael': 95, 'Tracy': 85, 'Bob': 75}
>>> d['Michael'] # 字典的索引
95
>>> d['Jack'] = 90 # 为字典添加元素
>>> d['Jack']
90
>>> d['Jack'] = 88 # 更新字典中键的值
>>> d['Jack']
88
>>> d
{'Michael': 95, 'Jack': 88, 'Tracy': 85, 'Bob': 75}
>>> 'Thomas' in d # 判断字典中是否存在某个键,若存在则返回True,若不存在则返回False
False
>>> d.get('Bob') # get方法,如果key不存在,返回None,如果存在则返回对应的值
75
>>> d.get('Haha') # 不存在,返回None
>>> d.pop('Bob') # 删除Bob对应的键值对
75
>>> d
{'Michael': 95, 'Jack': 88, 'Tracy': 85}
dict内部存放的顺序和key放入的顺序没有关系。
字典的键必须是不可变对象。
字典和列表的对比
dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
集合set
set和dict类似,也是一组key的集合,但不存储value。这里的集合与数学上的集合类似,其中的key不能重复。
>>> s = set([1, 2, 3]) # 通过列表创建集合
>>> s
{1, 2, 3}
>>> s = set([1, 1, 2, 2, 3, 3]) # 集合去除重复元素
>>> s
{1, 2, 3}
>>> s.add(4) # 给集合添加元素
>>> s
{1, 2, 3, 4}
>>> s.add(4) # 重复添加元素不会报错,但不会起作用
>>> s
{1, 2, 3, 4}
>>> s.remove(4) # 删除元素
>>> s
{1, 2, 3}
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2 # 求交集
{2, 3}
>>> s1 | s2 # 求并集
{1, 2, 3, 4}
参考:
python基础之字典dict和集合set的更多相关文章
- python基础类型(字典:dict)
字典的介绍: 字典(dict)Python中唯一的一个映射类型.他是以{}括起来的键值对组成,在dict中key是唯一的.在保存的时候,根据key来计算出一个内存地址,然后将key-value保存到这 ...
- python基础day6_字典dict
数据类型划分:可变数据类型.不可变数据类型 不可变数据类型(又叫可哈希):元祖,bool ,int,str, 可变数据类型(又叫不可哈希):list,dict,set(集合) dict的key必须是不 ...
- python基础之字典dict
不可变数据类型:tuple.bool.int.str --可哈希类型可变数据类型:list.dict.set --不可哈希类型dict-key 必须是不可变数据类型,可哈希dict-value 任意数 ...
- python中几个常见的黑盒子之“字典dict” 与 “集合set”
这里说到"字典dict" 和 "集合set"类型,首先,先了解一下,对于python来说,标准散列机制是有hash函数提供的,对于调用一个__hash__方法: ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python入门14 字典dict
字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...
- python基础之字典、集合
一.字典(dictionary) 作用:存多个值,key-value存取,取值速度快 定义:key必须是不可变类型,value可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...
- Python 全栈开发二 python基础 字符串 字典 集合
一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...
随机推荐
- 不完全CSS3图解
温故而知新.用XMind总结了下CSS3,打钩的代表比较常用的.希望对大家整体上理解CSS3有所帮助吧.
- office web apps 部署-搭建office web apps服务器
二.搭建office web apps服务器 相关文件可以去焰尾迭分享的百度网盘下载,下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%252 ...
- Sublime 3 如何使用列编辑模式
前言 作为一名运维人员,文本IDE的列编辑模式对工作效率的提升很大.以前总用UE,觉得UE的列编辑模式设置很人性化(alt+c).后来接触了sublime,个人觉得它的列编辑模式使用对比UE略有差距. ...
- thinkphp 框架中的一部分方法解析
1 thinkphp 框架 中判断输入的数值和数据库中的数值是否一致 首先 需要在view文件夹下建一个模板 名为zhuce.html <html> <head> &l ...
- jQuery生成元素(table)并绑定样式和事件
L略有重复
- Git相关操作及记录
一.软件 1.下载Git客户端软件 Widows平台: https://github.com/git-for-windows/git/releases/download/v2.13.0.windows ...
- Android GreenDAO3.0——介绍
引言 最近,学东西比较零散,各种知识混杂,于是记下学习记录,免得又忘了. 官方网址:http://greenrobot.org/greendao/documentation/introduction/ ...
- JAVA中的Buffer
一.属性 Buffer有四个基本属性: 1.capacity 容量,buffer能够容纳的最大元素数目,在Buffer创建时设定并不能更改 2.limit buffer中有效位置数目,不能对超过li ...
- 使用NetronGraphLib类库开发Qfd质量屋编制工具
前言 可执行文件下载 QfdHouse-exe.zip 因项目需要做了一个质量功能配置(Quality Function Deployment 简称Qfd)的质量屋编制工具软件,本软件是在发布一个免费 ...
- js事件中的event对象
addEvent(oDiv,"click",function(event){ console.log(event.bubbles+"事件是否冒泡"); cons ...