5. Python数据类型之元组、集合、字典
元组(tuple)
元组创建很简单,只需要在小括号中添加元素,并使用逗号隔开即可。与列表不同的是,元组的元素不能修改。如下代码所示:
tup1 = ()
tup2 = (1)
tup3 = (1,)
tup4 = ('test', 1, False)
tup5 = (1, 2, 3, 4, 5)
tup6 = "a", "b", "c", "d"
print(type(tup1))
print(type(tup2))
print(type(tup3))
print(type(tup4))
print(type(tup5))
print(type(tup6))
上面代码将输出如下内容:
<class 'tuple'>
<class 'int'>
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
通过输出内容我们发现只有tup2类型是整型,其余都是元组。这是为什么呢?如果小括号里只有一个元素时,请在后面加上“,”,才能表示元组。tup6虽然没有用(),但是也是元组一种特殊的写法。
操作元组
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。我们可以对元组进行相关操作。如下代码所示:
a = (1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA'])
print("通过索引方式访问元组第1个元素:", a[0])
print("通过索引方式访问元组第2个元素:", a[1])
print("通过索引方式访问元组第3个元素:", a[2])
print("通过索引方式访问元组第4个元素:", a[3])
print("通过索引方式访问元组第5个元素:", a[4])
print("通过索引方式访问元组第6个元素:", a[5])
print("用负数访问方式,元组第6个元素为:", a[-1])
print("用负数访问方式,元组第5个元素为:", a[-2])
print("元组第2个元素到第6个元素,步长为2:", a[1:5:2])
print("倒数第2个数到最后:", a[-2:])
print("元组第6个元素是一个列表,访问嵌套列表第1个元素:", a[5][0])
上面代码将输出如下内容:
通过索引方式访问元组第1个元素: 1
通过索引方式访问元组第2个元素: test
通过索引方式访问元组第3个元素: 你好
通过索引方式访问元组第4个元素: 3
通过索引方式访问元组第5个元素: False
通过索引方式访问元组第6个元素: [2, 3, 'CHINA']
用负数访问方式,元组第6个元素为: [2, 3, 'CHINA']
用负数访问方式,元组第5个元素为: False
元组第2个元素到第6个元素,步长为2: ('test', 3)
倒数第2个数到最后: (False, [2, 3, 'CHINA'])
元组第6个元素是一个列表,访问嵌套列表第1个元素: 2
集合(set)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式
set1 = {value1,value2,...}
或者
set(value)
我们可以对元组进行相关操作。如下代码所示:
name = {'testDog', 'Jim', 'Mary', 'Jim', 'Jack', 'Rose'}
print(name) # 输出集合,重复的元素被自动去掉
# 成员测试
if 'testDog' in name:
print('testDog 在集合中')
else:
print('testDog 不在集合中')
# set可以进行集合运算
a = set('testDogDog')
b = set('test')
c = {}
print(a)
print(b)
print(type(c))
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
上面代码将输出如下内容:
{'Mary', 'Rose', 'testDog', 'Jack', 'Jim'}
testDog 在集合中
{'t', 'e', 'g', 's', 'o', 'D'}
{'t', 's', 'e'}
<class 'dict'>
{'D', 'o', 'g'}
{'t', 'e', 'g', 's', 'o', 'D'}
{'t', 's', 'e'}
{'o', 'g', 'D'}
注意:因为集合是无序的,所以你输出的结果顺序可能与笔者不一致,并不是错误,如果定义一个空{},类型将为字典。
字典(dict)
列表是有序的对象集合,字典是无序的对象集合。字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。如下代码所示:
a = {"code": "10000", "result": 1, "status": 1, "text": "操作成功"}
print("取code的值", a["code"])
print("输出所有键", a.keys())
print("输出所有值", a.values())
上面代码将输出如下内容:
取code的值 10000
输出所有键 dict_keys(['code', 'result', 'status', 'text'])
输出所有值 dict_values(['10000', 1, 1, '操作成功'])
小结:数据类型主要有数字、字符串、列表、元组、集合、字典。笔者将通过思维导图找出这些数据类型共通点和不同点,方便记忆。如下图所示:
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
5. Python数据类型之元组、集合、字典的更多相关文章
- python数据类型之元组、字典、集合
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- python数据类型:元组
python数据类型:元组 python的元组与列表类似,但是元组的元素不能修改 元组使用小括号,列表使用大括号 元组创建简单,只需要在括号中添加元素,使用逗号隔开 创建元组: tup1 = (50, ...
- python基础之数据类型/字符串/元组/列表/字典
Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...
- python中的数据类型之元组和字典
一.元组:俗称不可变的列表,又被称为只读列表.元组用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但就是不能修改. 注意:如果元组中只有一个元素,一定要加一个逗号,否则 ...
- Python 列表、元组、字典及集合操作详解
一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...
- python列表、元组、字典、集合的简单操作
一.列表.元组 1.常用操作函数 #Author:CGQ import copy #列表 ''' names=["ZhangYang","XiaoHei",&q ...
- python列表,元组,字典,集合的比较总结
这四个都是python中的序列,用于存放数据,他们区别总结如下: 列表list 元组tuple 字典dictionary 集合set 是否可变 可变 不可变 可变 可变 是否有序 有序 有序 无序 ...
- python学习Day6 元组、字典、集合set三类数据用法、深浅拷贝
一.深浅拷贝 1. 值拷贝 ls1 = ls2 不开辟空间,指针跟着走.(直接将ls1中存放的地址拿过来,内存中不会开辟新的空间,所以你怎么变,我也跟着变.)(ls1内部的所有类型的值发生改变,l ...
- Python:Day06 元组、字典、字符串
tuple(元组) 元组被称为只读列表,即数据可以被查询,但不能被修改,所以列表的切片操作同样适用于元组. 元组写在( )里,元素之间用逗号隔开. tul1 = ( ) #空元组 tul2 = (20 ...
随机推荐
- laravel生成key
安装laravel之后要设置一个随即字符串作为应用密钥(key),如果你是通过composer或者laravel安装器安装的 这个key已经自动生成并设置了. 一般情况下这个key为32位长度字符串. ...
- http相应状态码大全
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对GET ...
- 33. 构建第一个job
1.点击 New Item 2.Enter an item name 输入一个name,点击Freestyle project 3.我们可以输入一个描述,点击Advanced 4.勾选Use cust ...
- PAT甲级——A1140 LookAndSaySequence【20】
Look-and-say sequence is a sequence of integers as the following: D, D1, D111, D113, D11231, D112213 ...
- postgis常用的函数
常见函数:http://postgis.net/docs/reference.html ST_GeometryType(geometry) —— 返回几何图形的类型 ST_NDims(ge ...
- java.lang -> Object
java.lang -> Object 是什么 Object 类是类层次结构的根,是 Java 中唯一一个没有父类的类,Java 中所有对象包括数组都继承了 Object 类中的方法. 重要方法 ...
- 爬虫(四)—— 使用pyecharts展示数据
pyecharts模块 pyecharts可以将数据形象的在页面中用图表显示 一.安装 pip install pyecharts 二.使用 import pyecharts # 创建一个页面 pag ...
- spring配置mybatis的sqlsessionfactory
<!--读入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.bean ...
- Python判断一个字符串中是否存在多个子串中的一个
在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...
- Oracle备份统计信息
Oracle可以通过DBMS_STATS.GET_TABLE_STATS 收集表的统计信息,一般的收集方法如下: DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => ...