元组(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数据类型之元组、集合、字典的更多相关文章

  1. python数据类型之元组、字典、集合

    python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...

  2. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  3. python数据类型:元组

    python数据类型:元组 python的元组与列表类似,但是元组的元素不能修改 元组使用小括号,列表使用大括号 元组创建简单,只需要在括号中添加元素,使用逗号隔开 创建元组: tup1 = (50, ...

  4. python基础之数据类型/字符串/元组/列表/字典

    Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...

  5. python中的数据类型之元组和字典

    一.元组:俗称不可变的列表,又被称为只读列表.元组用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但就是不能修改. 注意:如果元组中只有一个元素,一定要加一个逗号,否则 ...

  6. Python 列表、元组、字典及集合操作详解

    一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...

  7. python列表、元组、字典、集合的简单操作

    一.列表.元组 1.常用操作函数 #Author:CGQ import copy #列表 ''' names=["ZhangYang","XiaoHei",&q ...

  8. python列表,元组,字典,集合的比较总结

    这四个都是python中的序列,用于存放数据,他们区别总结如下:   列表list 元组tuple 字典dictionary 集合set 是否可变 可变 不可变 可变 可变 是否有序 有序 有序 无序 ...

  9. python学习Day6 元组、字典、集合set三类数据用法、深浅拷贝

    一.深浅拷贝 1.  值拷贝 ls1 = ls2  不开辟空间,指针跟着走.(直接将ls1中存放的地址拿过来,内存中不会开辟新的空间,所以你怎么变,我也跟着变.)(ls1内部的所有类型的值发生改变,l ...

  10. Python:Day06 元组、字典、字符串

    tuple(元组) 元组被称为只读列表,即数据可以被查询,但不能被修改,所以列表的切片操作同样适用于元组. 元组写在( )里,元素之间用逗号隔开. tul1 = ( ) #空元组 tul2 = (20 ...

随机推荐

  1. laravel生成key

    安装laravel之后要设置一个随即字符串作为应用密钥(key),如果你是通过composer或者laravel安装器安装的 这个key已经自动生成并设置了. 一般情况下这个key为32位长度字符串. ...

  2. http相应状态码大全

    100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对GET ...

  3. 33. 构建第一个job

    1.点击 New Item 2.Enter an item name 输入一个name,点击Freestyle project 3.我们可以输入一个描述,点击Advanced 4.勾选Use cust ...

  4. PAT甲级——A1140 LookAndSaySequence【20】

    Look-and-say sequence is a sequence of integers as the following: D, D1, D111, D113, D11231, D112213 ...

  5. postgis常用的函数

    常见函数:http://postgis.net/docs/reference.html ST_GeometryType(geometry)    ——    返回几何图形的类型 ST_NDims(ge ...

  6. java.lang -> Object

    java.lang -> Object 是什么 Object 类是类层次结构的根,是 Java 中唯一一个没有父类的类,Java 中所有对象包括数组都继承了 Object 类中的方法. 重要方法 ...

  7. 爬虫(四)—— 使用pyecharts展示数据

    pyecharts模块 pyecharts可以将数据形象的在页面中用图表显示 一.安装 pip install pyecharts 二.使用 import pyecharts # 创建一个页面 pag ...

  8. spring配置mybatis的sqlsessionfactory

    <!--读入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.bean ...

  9. Python判断一个字符串中是否存在多个子串中的一个

    在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...

  10. Oracle备份统计信息

    Oracle可以通过DBMS_STATS.GET_TABLE_STATS 收集表的统计信息,一般的收集方法如下: DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => ...