python3_列表、元组、集合、字典
列表list##
#列表的基本操作
>>> a=[] #创建空列表
>>> a = [0,1,2,3,4,5] #创建列表并初始化,列表是[]包含由逗号分隔的多个元素组成。
>>> a[0] #访问引索0位置的元素。
>>> a.append(6) #添加元素到列表末尾 。
>>> a.extend([10,20]) #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
>>> a.insert(0, 1) #在列表索引 0 位置添加元素 1。
>>> a.remove(1) #移除列表中指定元素。
>>> del a[-1] #删除列表引索-1位置元素。
>>> a.count(1) #返回列表中元素1的个数。
>>> a.reverse() #反转整个列表。
>>> a.index(1) #从列表中找出某个值第一个匹配项的索引位置
>>> a.sort() #列表排序。
>>> len(a) #列表长度
>>> [1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] #组合
>>> ['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] # 重复
>>> 3 in [1, 2, 3] True #元素是否存在于列表中
>>> cmp(list1, list2) #比较两个列表的元素
>>> max(list) #返回列表元素最大值
>>> min(list) #返回列表元素最小值
>>> list(seq) #将元组转换为列表
#将列表用作栈和队列
>>> a.pop() #弹出列表最后的元素,可作为栈使用
>>> a.pop(0) #弹出列表第一个元素,可作为队列使用
#列表推导式
>>> a=[1,2,3]
>>> z = [x + 1 for x in [x ** 2 for x in a]]
>>> z
[2, 5, 10]
#遍历列表(或任何序列类型)的同时获得元素索引值。
>>> for i, j in enumerate(['a', 'b', 'c']):
... print(i, j)
...
0 a
1 b
2 c
#列表切片(slice notation)
>>> a = [0,1,2,3,4,5,6,7,8,9]
>>> b = a[1:3] #b的内容是 [1,2]。
#a[i:j:s] 表示复制a[i]到a[j-1],以生成新的list对象。
#当i缺省时,默认为0,即 a[:3]相当于 a[0:3]。
#当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]。
#当i,j都缺省时,a[:]就相当于完整复制一份a了。
#s表示步进,缺省为1。
#当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1。
>>> a[::-1] #相当于 a[-1:-len(a)-1:-1]。
元组tuple##
>>> a = (1, 2, 3, 4) #元组是由()包含的逗号分隔的多个元素组成。
>>> a = (123, ) #要创建只含有一个元素的元组,在值后面跟一个逗号。
>>> del a #删除元组
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz'); #修改元组
tup3 = tup1 + tup2; #元组加法
元组是不可变类型,不能在元组内删除或添加或编辑任何元素。但元组中列表的内容可以修改。
集合set##
集合是一个无序不重复元素的集。
>>> a = set() #想要创建空集合,你必须使用 set() 而不是 {}。后者用于创建空字典,我们在下一节中介绍的一种数据结构。
>>> a = {0,1,1,2,3,4,5} #重复的元素被去除
>>> 1 in a #判断集合中是否存在元素
True
# 演示对两个单词中的字母进行集合操作
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # a 去重后的字母
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # a 有而 b 没有的字母
{'r', 'd', 'b'}
>>> a | b # 存在于 a 或 b 的字母
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # a 和 b 都有的字母
{'a', 'c'}
>>> a ^ b # 存在于 a 或 b 但不同时存在的字母
{'r', 'd', 'b', 'm', 'z', 'l'}
#从集合中添加或弹出元素:
>>> a = {0,1,2,3,4,5}
>>> a
{0, 1, 2, 3, 4, 5}
>>> a.pop()
0
>>> a.add(10)
>>> a
{1, 2, 3, 4, 5, 10}
字典dict##
字典是是无序的键值对(key:value)集合,同一个字典内的键必须是互不相同的。
>>> data = {} #一对大括号 {} 创建一个空字典。
>>> data = {'me':'apple','you':'banana'} #初始化字典时,在大括号内放置一组逗号分隔的键:值对,这也是字典输出的方式。
>>> data['me'] #使用键来检索存储在字典中的数据。
'apple'
>>> data['he'] = 'tomato' #建新的键值。
>>> del data['he'] #删除任意指定的键值对。
>>> data.clear() #清空字典
>>> del data #删除整个字典
>>> 'me' in data #查询指定的键是否存在于字典中。
>>> dict.keys() # 以列表返回一个字典所有的键
>>> dict.copy() #返回一个字典的浅复制
>>> dict.fromkeys(seq[, val])) # 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
>>> dict.get(key, default=None) #返回指定键的值,如果值不在字典中返回default值
>>> dict.has_key(key) # 如果键在字典dict里返回true,否则返回false
>>> dict.items() #以列表返回可遍历的(键, 值) 元组数组
>>> dict.keys() #以列表返回一个字典所有的键
>>> dict.setdefault(key, default=None) #和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
>>> dict.update(dict2) #把字典dict2的键/值对更新到dict里
>>> dict.values() #以列表返回字典中的所有值
>>> pop(key[,default]) #删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
>>> popitem() #随机返回并删除字典中的一对键和值。
False
#由于字典中的键必须是不可变类型,所以不能使用列表作为键。
#从包含键值对的元组中创建字典。
>>> dict((('he','tomato'),('she','patoto')))
{'she': 'patoto', 'he': 'tomato'}
# 由字典转化为元组类表中只保存键
>>>print (tuple(data))
('me', 'you')
# 由字典转化为列表只保存键
>>> print (list(data))
['me', 'you']
#遍历一个字典
>>> for x, y in data.items():
... print("{} uses {}".format(x, y))
...
me uses apple
you uses banana
#判断这个元素是否存在,不存在则创建一个默认值。
>>> data
{'me': 'apple', 'you': 'banana'}
>>> data.setdefault('me', 'orange')
'apple'
>>> data.setdefault('he', 'tomato')
'tomato'
>>> data
{'me': 'apple', 'you': 'banana', 'he': 'tomato'}
#索引一个不存在的键将会抛出一个 keyError 错误。我们可以使用 dict.get(key, default) 来索引键,如果键不存在,那么返回指定的 default 值。
>>> data['it']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'it'
>>> data.get('it', orange)
orange
#同时遍历两个序列类型,你可以使用 zip() 函数。
>>> a = [0,1,2,3,4]
>>> b = [9,8,7,6,5]
>>> for x,y in zip(a,b):
... print("x:{} & y: {}".format(x,y))
...
x:0 & y: 9
x:1 & y: 8
x:2 & y: 7
x:3 & y: 6
x:4 & y: 5
python3_列表、元组、集合、字典的更多相关文章
- Python—列表元组和字典
Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...
- python基础(五)列表,元组,集合
列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...
- Python成长笔记 - 基础篇 (三)python列表元组、字典、集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...
- python 序列结构-列表,元组,字典,字符串,集合
列表 """ name_list.__add__( name_list.__getslice__( name_list.__new__( name_list.append ...
- 【python基础】之元组 集合 字典
元组 元组:元组和列表类似.但是元组中的元素是固定的(不能给一个元组添加,删除和替换元素以及重新排序) 1.创建元组 t1 = () #创建一个空元组 t2 = (1, 2, 3) t3 = tupl ...
- python学习之列表元组,字典
list:元素性质可以不一致,元素还可以是list,可类似数组方法进行索引(也可以用负数索引,-1表示最后一个),可用.append('')进行动态增加,可用pop()删除最后一个或者pop(i)删除 ...
- python—列表,元组,字典
——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改) list(类) (有序的) [1]索引取值:切片取值:for循环:whi ...
- Python列表元组和字典解析式
目录 列表解析式List comprehensive 集合解析式Set comprehensive 字典解析式Dict comprehensive 总结 以下内容基于Python 3x 列表解析式Li ...
- python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
- python基础语法3 元组,字典,集合
元组: ========================元组基本方法===========================用途:存储多个不同类型的值定义方式:用过小括号存储数据,数据与数据之间通过逗号 ...
随机推荐
- 转载 +function ($) { "use strict";}(window.jQuery);全面分析
转载 https://www.cnblogs.com/cndotabestdota/p/5664112.html +function ($) { "use strict";}(wi ...
- docker swarm 实例
1.配置三台虚拟机 先在virtualbox上生成三个Linux主机,一个manager1(管理节点),两个工作节点worker1和worker2 1)manager1 userdeMacBook-P ...
- oracle 11.2.0.4 dbca创建数据库时 报错ORA-12532
ORA-12532:TNS:无效参数 在实例安装到50%的时候ORA-12532的错误. 原因: sys密码中包含‘@’字符引起的.重新设置,通过.
- linux外接显示屏,关掉本身的笔记本电脑
https://blog.csdn.net/a2020883119/article/details/79561035 先用xrandr命令查看: eDP-1 connected eDP-1是连接着的 ...
- PAT A1018 Public Bike Management (30 分)——最小路径,溯源,二标尺,DFS
There is a public bike service in Hangzhou City which provides great convenience to the tourists fro ...
- Objective-C @executable_path、@loader_path和@rpath
工程配置中,有三个路径和库的加载息息相关: 1.@executable_path 可执行文件的路径,例如/Applications/WeChat.app/Contents/MacOS. 2.@load ...
- centos 6.X下建立arduino开发环境
一.安装arduino IDE 1.下载linux下arduino IDE安装包,从网址:http://arduino.cc/en/Main/Software下载,如果这个网址打不开,可从网盘下载:h ...
- jmeter(二十)阶梯式加压测试
性能测试中,有时需要模拟一种实际生产中经常出现的情况,即:从某个值开始不断增加压力,直至达到某个值,然后持续运行一段时间. 在jmeter中,有这样一个插件,可以帮我们实现这个功能,这个插件就是:St ...
- 通过重建清理SVN服务器无用目录,不丢失其他目录修改记录
1.主要时有时间希望调整一些文件的目录结构,或者移除一个大量占用空间的文件节省服务器磁盘,但是又不希望调整后,对应的修改记录丢失.这时可以通过服务器目录重建实现. 2.重建后只是被排除掉的目录的修改记 ...
- C#中用HttpWebRequest中发送GET/HTTP/HTTPS请求 (转载)
这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全部采用手工操作工作量大而且繁琐,因此周公决定利用C#来实现.在很多地方都需要验证用户身份才可 ...