Python学习笔记004_字典_集合
>>> # 字典 用大括号表示, 它是影射类型,相当于java中的Map
>>>
>>> dict1 = {'李宁': '一切皆有可能', '耐克':'Just do it','阿迪达斯':'Impossible is nothing'}
>>> dict1
{'阿迪达斯': 'Impossible is nothing', '李宁': '一切皆有可能', '耐克': 'Just do it'}
>>>
>>> # 根据键取字典的值
>>> dict1['李宁']
'一切皆有可能'
>>>
>>> dict2 = {1:'one',2:'two',3:'three'}
>>> dict2[1]
'one'
>>>
>>> # 空字典
>>> dict3 = {}
>>> dict3
{}
>>> # 除了上面的之外,还有其它创建字典的方式 使用构造创建 字典
>>>
>>> dict4 = dict((('F',70),('i',105),('s',115),('h',104)))
>>> dict4
{'s': 115, 'F': 70, 'h': 104, 'i': 105}
>>>
>>> # 用参数的形式创建
>>>
>>> dict5= dict(黄红义='尿频、尿急、尿不净',杨伟='伟哥')
>>> dict5
{'黄红义': '尿频、尿急、尿不净', '杨伟': '伟哥'}
>>>
>>> # 如果键存在就覆盖,如果不存在就添加,与java的Map一样
>>> dict5['黄红义'] = '是一个典型的猥琐男'
>>> dict5
{'黄红义': '是一个典型的猥琐男', '杨伟': '伟哥'}
>>> dict5['awei'] = '哈哈'
>>> dict5
{'awei': '哈哈', '黄红义': '是一个典型的猥琐男', '杨伟': '伟哥'}
>>>
>>>
>>> # dict 有很多有用的内置函数
>>> # fromkeys 为指定的键创建相同的值,如果不指定值则都是None
>>> # fromkeys 是创建出一个dict
>>> dict6 = {}
>>> dict6.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict6.fromkeys((1,2,3),'Number')
{1: 'Number', 2: 'Number', 3: 'Number'}
>>>
>>> # keys 获取所有的key
>>> for eachKey in dict5.keys() :
print(eachKey)
awei
黄红义
杨伟
>>> for eachValue in dict5.values():
print(eachValue)
哈哈
是一个典型的猥琐男
伟哥
>>> for eachItem in dict5.items():
print(eachItem)
('awei', '哈哈')
('黄红义', '是一个典型的猥琐男')
('杨伟', '伟哥')
>>>
>>> # 除了前面介绍的使用 ditc5[1]这种形式获取值之外,还可以使用 get()方法
>>> # dict5[1],这种形式,如果不存在这样的key会报错,但是get不会
>>>
>>> dict5['yangw']
Traceback (most recent call last):
File "<pyshell#57>", line 1, in <module>
dict5['yangw']
KeyError: 'yangw'
>>> dict5.get('yangw')
>>> print(dict5.get('yangw'))
None
>>> # 也可以自己去设置没有找到的值
>>> dict5.get('yangw','么有')
'么有'
>>> dict5.get('awei')
'哈哈'
>>>
>>> # 它也可以使用 in not in
>>> 'yangw' in dict5
False
>>> 'awei' in dict5
True
>>> # 清空字典 clear()
>>> dict5.clear()
>>> dict5
{}
>>> # pop 给定键,弹出值
>>> dict5= dict(黄红义='尿频、尿急、尿不净',杨伟='伟哥')
>>> dict5
{'黄红义': '尿频、尿急、尿不净', '杨伟': '伟哥'}
>>> dict5.pop('黄红义')
'尿频、尿急、尿不净'
>>> dict5
{'杨伟': '伟哥'}
>>> # popitem()是弹出一个项
>>> # 它是随机弹出
>>> dict5.popitem()
('杨伟', '伟哥')
>>> dict5
{}
>>>
>>> # setdefault() 是一种添加键值的方式,如果不指定值默认就是None
>>>
>>> dict5.setdefault("haha")
>>> dict5
{'haha': None}
>>> dict5.setdefault('nimei','halou')
'halou'
>>> dict5
{'haha': None, 'nimei': 'halou'}
>>> # update 是用影射关系或者字典来更新一个字典
>>>
字典当中的拷贝方法copy()是浅拷贝, 如果需要使用深拷贝,使用 copy模块的 deepcopy()方法.
>>>
>>> # 集合中的值是唯一的, 它与Java中的Set是一样的
>>> num={}
>>> type(num)
<class 'dict'>
>>> num2 = {1,2,3,4}
>>> type(num2)
<class 'set'>
>>>
>>> num2 = {1,2,3,4,3,2}
>>> num2
{1, 2, 3, 4}
>>> # 集合是无序的
>>>
>>> # 创建集合的方式 一种是直接把一堆元素用花括号括起来 一种是使用set工厂函数
>>>
>>>
>>> set1 = set([1,2,5,6,2,5])
>>> set1
{1, 2, 5, 6}
>>> # set 的构造参数是一个可迭代的对象(字符串,元祖,数组) ,也可以是空的
>>>
>>> # add添加一个元素
>>> set1.add(10)
>>> set1
{1, 2, 10, 5, 6}
>>> set1.remove(10)
>>> set1
{1, 2, 5, 6}
>>>
>>>
>>> #
>>> num1 = [1,2,3,3,4,4,4]
>>> num2 = list(set(num1))
>>> num2
[1, 2, 3, 4]
>>> # 可以使用in not in, 判断元素是否在集合中
>>> # 可以使用for将元素一一迭代出来
>>> # frozen: 冰冻的,冻结的
>>> # 不可改变的集合 frozenset
>>>
>>> num3 = frozenset([1,2,3,4,5])
>>> num3.add(6)
Traceback (most recent call last):
File "<pyshell#130>", line 1, in <module>
num3.add(6)
AttributeError: 'frozenset' object has no attribute 'add'
>>>
集合还有一些方法比较有用
a & b #求交集 a.intersection(b)
a | b #求并集 a.union(b)
a - b #求差集 a.difference(b)
a ^ b #求对称差集 a.symmetric_difference(b)
a.issubset(b) #a是b的子集
a.issuperset(b) #a是否包含b
Python学习笔记004_字典_集合的更多相关文章
- Python学习笔记四--字典与集合
字典是Python中唯一的映射类型.所谓映射即指该数据类型包含哈希值(key)和与之对应的值(value)的序列.字典是可变类型.字典中的数据是无序排列的. 4.1.1字典的创建及赋值 dict1={ ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- PYTHON 学习笔记3 元组、集合、字典
前言 在上一节的学习中.学习了基本的流程控制语句,if-elif-else for while 等,本节将拓展上一节学习过的一些List 列表当中操作的一些基本方法,以及元祖.序列等. 列表扩展 我们 ...
- python学习笔记:文件操作和集合(转)
转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...
- Python学习笔记010_迭代器_生成器
迭代器 迭代就类似于循环,每次重复的过程被称为迭代的过程,每次迭代的结果将被用来作为下一次迭代的初始值,提供迭代方法的容器被称为迭代器. 常见的迭代器有 (列表.元祖.字典.字符串.文件 等),通常 ...
- python学习笔记八——字典的方法
4.3.3 字典的方法 字典的常用方法可以极大地提高编程效率.keys()和values()分别返回字典的key列表和value列表.例: dict={"a":"appl ...
- python学习笔记七——字典
4.3 字典结构 字典是Python中重要的数据类型,字典的由“键-值”对组成的集合,字典中的“值”通过“键”来引用. 4.3.1 字典的创建 字典由一系列的“键-值”(key-value)对组成,“ ...
- Python学习笔记(八)—集合的学习
集合(set)是一个无序不重复元素的序列. 基本功能是进行成员关系测试和删除重复元素. 1.集合的作用 它可以把一个列表中重复的数据去掉,而不需要你再写判断 可以做关系测试,比如说有两个科目,一个数学 ...
- Python学习笔记之字典
一.创建和使用字典 1.创建字典 phonebook={'Alice':'2341','Beth':'9102','Cecil':'3258'} 2.dict,通过映射创建字典 >>> ...
随机推荐
- 使用EasyWechat快速开发微信支付
前期准备: 申请微信支付后, 会收到2个参数, 商户id,和商户key.注意,这2个参数,不要和微信的参数混淆.微信参数: appid, appkey, token支付参数: merchant_id( ...
- SkipList跳表基本原理
为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等. 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树 出来吗 ...
- Dom-创建标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用Groovy处理SoapUI中Json response
最近工作中,处理最多的就是xml和json类型response,在SoapUI中request里面直接添加assertion处理json response的话,可以采用以下方式: import gro ...
- 关于sys.argv
sys.argv[]用来获取命令行参数,sys.argv[0]表示代码本身的文件路径.比如在命令行输入‘python test.py -version',sys.argv[0]的值即为test.py, ...
- [REST] 1.REST的起源
0. 世界上第一个网站 1990年12月20日,这一天对于现在的互联网来说意义非凡.欧洲核子研究组织(CREN)的科学家Tim Berners-Lee在一台NeXT电脑上启动了世界上的第一个网站(当然 ...
- jmeter系列-------脚本编写格式
1.通常会将用户和服务器的一次交互(页面访问或者提交)请求放在一个简单控制器或者事务控制器,例如微课首页里面包含4个接口都放到简单控制器里 或者一个提交可能,会触发3个接口,那么这3个接口放到一个简单 ...
- Selenium+IDEA+Maven+TestNG环境搭建
第一 安装java环境. 1. 下载并安装Jdk1.7或Jdk1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.htm ...
- .net基础第一天
.net基础 <head>+控制类标签 +<head> 1 <body>+网页要显示的内容+</body> <body +空格+bgcolor= ...
- Oracle 的process和Session
Oracle 的process和Session 1.process 和session的概念:process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个 ...