Python之dict和set
dict
Python内置了字典:dict的支持,dict全称dictionary,使用键-值(key-value)存储,具有极快的查找速度
1.例如:查找某位同学对应的成绩,使用“名字”-“成绩”的对照表,直接根据名字查找成绩,初始化如下:
>>>d = {'小明': 95, '小红':65, '小李': 88}
>>>print(d['小明'])
95
2.把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>>d = {'小明':0,'小红':65,'小李':88}
>>>d['小明'] = 98
>>>print(d['小明'])
98
#同时表明一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉,98冲掉了前面的0
3.关于key的注意:
#避免key不存在造成的错误 #1.通过 in 判断key是否存在
>>>'小兰' in d
Fasle #2.二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>>d = {'小明':95,'小红':65,'小李':88}
>>>print('d[\'小明\'] =', d['小明'])
>>>print('d[\'小兰\'] =', d.get('小兰',-1))
d['小明'] = 95
d['小兰'] = -1 #注意返回None时,python交互环境不显示结果
ps:要删除一个key,用pop(key)方法,对应的value也会从dict中删除
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
1.list的创建(使用list作为输入集合)
>>>s = set([1,2,3,4,5,6])
>>>print(s)
{1,2,3,4,5,6}
注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。
并且重复的元素自动被过滤,只显示一个:
>>>s = set([1,2,3,4,5,6,6,6,6])
>>>print(s)
{1,2,3,4,5,6}
2.删除set元素和往set中添加元素(可重复添加,但是只显示一个)
#通过add()添加元素
>>>s = set([1,2,3,4,5,6])
>>>s.add(7)
>>>print(s)
{1,2,3,4,5,6,7}
#重复添加
>>>s = set([1,2,3,4,5,6])
>>>s.add(6)
>>>print(s)
{1,2,3,4,5,6}
#通过remove(key)删除set中元素
>>>s = set([1,2,3,4,5,6])
>>>s.add(6)
>>>print(s)
{1,2,3,4,6}
3.set可以做交集、并集运算
#set交集、并集运算
>>>s1 = set([1,2,3,4,5,6])
>>>s2 = set([4,5,6,7])
>>>s1 & s2
>>>s1 | s2
>>>print( s1 & s2)
>>>print( s1 | s2)
{4, 5, 6}
{1, 2, 3, 4, 5, 6, 7}
注:set 和 dict不可以放入可变对象
参考资料
Python之dict和set的更多相关文章
- Python中dict的特点、更新dict、遍历dict
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.而list的查找速度随着元素增加而逐渐下降. 不过dict的查找速度快不是没有代价的,dict的缺点是占用内 ...
- Python中dict详解
from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...
- python 字典 dict 该注意的一些操作
在用python处理dict 的时候,有几个该注意的地方,这里跟大家提一下: 1)操作dict 时,尽量少产生新的列表对象.比如: 遍历dict的时候,如果用 dic = {"a" ...
- python字典dict的增、删、改、查操作
## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...
- Python 字典 dict() 函数
描述 Python 字典 dict() 函数用于创建一个新的字典,用法与 Pyhon 字典 update() 方法相似. 语法 dict() 函数函数语法: dict(key/value) 参数说明: ...
- Python 基础 Dict 和 Set 类型
python 什么是dict 例如: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } 我们把名称称为key,对应的成绩称为value,dic就是通过key 来查找 ...
- python实现dict版图遍历
python实现dict版图遍历的示例. 代码: #_*_coding:utf_8_import sysimport osclass Graph(): def __init__(self, V, E) ...
- Python之Dict和Set类型(入门5)
转载请标明出处: http://www.cnblogs.com/why168888/p/6407905.html 本文出自:[Edwin博客园] Python之Dict和Set类型 1. Python ...
- 'dict_values' object does not support indexing, Python字典dict中由value查key
Python字典dict中由value查key 众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句 ...
- Python的dict字典结构操作方法学习笔记
Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...
随机推荐
- java中线程池的几种实现方式
1.线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建 ...
- n层满k叉树总共有多少个节点
2叉树 1 3 7 对应公式为(2^n-1)/1 3叉树 1 4 13 对应公式为(3^n-1)/2 4叉树 1 5 21对应公式为(4^n-1)/3 ... n层k叉树,总共有(k^n-1)/k-1 ...
- SVN图形客户端上传静态库.a文件失败
1.原因客户端未添加静态库 2.解决办法 到项目静态库所在目录用命令行添加静态库文件 svn add ****.a 3.可能存在问题 Mac OS的自带SVN版本过低不能添加,报错如下: svn: E ...
- FlowPortal-BPM——功能:判断数据库表中字段是否重复并阻止提交或保存
一.JS添加代码,判断是否有OnSubmit事件 文件位置:YZSoft/Forms/src/Validator.js //=====判断是否有OnSubmit事件===== if (typeof ( ...
- 启动Storm各个后台进程
启动Storm的所有后台进程.和Zookeeper一样,Storm也是快速失败(fail-fast)的系统,这样Storm才能在 任意时刻被停止,并且当进程重启后被正确地恢复执行.这也是为什么Stor ...
- (转)MySQL备份原理详解
MySQL备份原理详解 原文:http://www.cnblogs.com/cchust/p/5452557.html 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之 ...
- 漫谈NIO(3)之Netty实现
1.前言 上一章结合Java的NIO例子,讲解了多路IO复用的一个基本使用方法,通过实际编码加深对其理解.本章开始进入Netty的环节,前面两章都是为了Netty进行铺垫说明.此节将对比Java的NI ...
- php的数组变量
数组就是存储同一类型的多个变量的 一种特殊的类型 php的数组有两种形态 1.普通类型 eg:$cars = array("Volvo","BMW"," ...
- 12.Reflect
Reflect Reflect 概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API.Reflect对象的设计目的有这样几个. (1) 将Object对象的一些明 ...
- C#中深拷贝和浅拷贝
一:概念 内存:用来存储程序信息的介质. 指针:指向一块内存区域,通过它可以访问该内存区域中储存的程序信息.(C#也是有指针的) 值类型:struct(整形.浮点型.decimal的内部实现都是str ...