元组(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. 关于UI自动化测试的思考

    不知不觉,时间过去了二年多,从开始想学习自动化(UI自动化到上手做项目)到上手,到能独立开发一个项目的UI自动化脚本. 一直在学习,边做边学,边看边学.边总结(具体看我的博客,其中大部分都是自己的理解 ...

  2. ztree 数组和树结构互转算法

    //树转化为数组transformToArrayFormat: function (setting, nodes) { if (!nodes) return []; var childKey = se ...

  3. JavaScript中Function函数与Object对象的关系

    函数对象和其他内部对象的关系 除了函数对象,还有很多内部对象,比如:Object.Array.Date.RegExp.Math.Error.这些名称实际上表示一个 类型,可以通过new操作符返回一个对 ...

  4. linux中errno及perror的应用

    1 perror 定义在头文件<stdlib.h>中 void perror(const char *s);函数说明 perror ( )用 来 将 上 一 个 函 数 发 生 错 误 的 ...

  5. 天天用Synchronized,底层原理是个啥?

    作者:liuxiaopeng https://www.cnblogs.com/paddix/p/5367116.html Synchronized 的基本使用 Synchronized 的作用主要有三 ...

  6. python调用tushare的pro_bar通用行情接口

    接口名称:pro_bar 更新时间:股票和指数通常在15点-17点之间,数字货币实时更新,具体请参考各接口文档明细. 描述:目前整合了股票(未复权.前复权.后复权).指数.数字货币.ETF基金.期货. ...

  7. 16-python基础-字典

    1.字典的定义 dictionary(字典)是除列表以外python之中最灵活的数据类型. 字典同样可以存储多个数据. 通常用于存储一个物体的相关信息. 和列表的区别 列表是有序的对象集合 字典是无序 ...

  8. layui的layer独立版报错“TypeError: i is not a function”的解决

    折腾良久发现是引入jQuery顺序的问题. jQuery必须在layer引入之前引入.

  9. 分考场(np完全问题,回溯法)

    问题描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入格式 第一行,一个整数n(1<n<100),表示参加考试的人 ...

  10. laravel将数组转换成集合

    $myArray = collect($this -> menuPermissionTypes); //$this -> menuPermissionTypes是数组! dd($myArr ...