-
2021-12-01 16:29:19
创建元组
1. 使用 ( ) 直接创建
num = (7, 14, 21, 28, 35) abc = ( "Python", 19, [1,2], ('c',2.0) )
在 Python 中,元组通常都是使用一对小括号将所有元素包围起来的,但小括号不是必须的,只要将各元素用逗号隔开,Python 就会将其视为元组,请看下面的例子:
t_tuble = 'a','b' print(type(t_tuble)) 结果 <class 'tuple'>
需要注意的一点是,当创建的元组中只有一个字符串类型的元素时,该元素后面必须要加一个逗号,,否则 Python 解释器会将它视为字符串。
t_tuble = 'a', print(type(t_tuble)) t_tuble = ('a') print(type(t_tuble)) 结果 <class 'tuple'> <class 'str'>
2.使用tuple()函数创建元组
#字符串转元组 t_tuble = tuple('abc') print(type(t_tuble),t_tuble) #将区间转换成元组 t_tuble = range(1, 6) tt_tuble = tuple(t_tuble) print(tt_tuble) 结果 <class 'tuple'> ('a', 'b', 'c') (1, 2, 3, 4, 5)
访问元组
和列表一样,我们可以使用索引(Index)访问元组中的某个元素(得到的是一个元素的值),也可以使用切片访问元组中的一组元素(得到的是一个新的子元组)。
t_tuble = tuple('abs',) # 使用索引 print(t_tuble[2]) #使用切片 print(t_tuble[:2]) 结果 s ('a', 'b')
修改元组
元组是不可变序列,元组中的元素不能被修改,所以我们只能创建一个新的元组去替代旧的元组。
t_tuble = tuple('abs',) print(t_tuble) t_tuble = tuple('abc',) print(t_tuble) #结果 ('a', 'b', 's') ('a', 'b', 'c') t_tuble1 = tuple('abs',) print(t_tuble1) t_tuble2 = tuple('abc',) #使用切片 print(t_tuble2) print(t_tuble1+t_tuble2) 结果 ('a', 'b', 's') ('a', 'b', 'c') ('a', 'b', 's', 'a', 'b', 'c')
删除元组
当创建的元组不再使用时,可以通过 del 关键字将其删除
t_tuble1 = tuple('abs',) print(t_tuble1) del t_tuble1 print(t_tuble1) 结果 ('a', 'b', 's') print(t_tuble1) NameError: name 't_tuble1' is not defined
Python 自带垃圾回收功能,会自动销毁不用的元组,所以一般不需要通过 del 来手动删除。
元组源码分析
如下所示为 Python 3.7 tuple 元组的具体结构:
typedef struct { PyObject_VAR_HEAD PyObject *ob_item[1]; /* ob_item contains space for 'ob_size' elements. * Items must normally not be NULL, except during construction when * the tuple is not yet visible outside the function that builds it. */ } PyTupleObject;
tuple本质也是一个数组,但是空间大小固定。不同于一般数组,python的tuple做了许多优化,来提升在程序中的效率
举个例子,为了提高效率避免频繁调用系统函数的free和malloc向操作系统申请和释放空间,tuple源文件中定义了一个free_list:
static PyTupleObject *free_list[PyTuple_MAXSAVESIZE];
所有申请过的,大小一定的元组在释放的时候会被放进这个free_list中以供下次使用。也就是说,如果以后需要再去创建同样的tuple,python就可以直接从缓存中载入。
- free_list[0] 用于存储长度为 0 的 tuple 对象,整个解释器的生命周期里面只有一个长度为 0 的 tuple 对象实例
- free_list[1] 用于存储长度为 1 的 tuple 对象,可以通过 tuple 对象的 ob_item[0] 指针遍历到下一个长度为 1 的 tuple 对象
更多相关内容 -
Python元组的常规操作
2022-04-04 20:10:46Python元组的常规操作Python元组的常规操作
一、前言
元组(tuple)是Python中另一个重要的序列结构,与列表类似,也是由一系列按特定顺序排列的元素组成,但是它是不可变序列。
在形式上,列表的所有的元素都放在一个中括号“()”中,两个相邻元素间使用逗号“,”分隔。
二、元组的创建和删除
在Python中提供了多种创建列表的方法,下面分别介绍:
【1】使用赋值运算符直接创建列表
tuplename = (lement 1,element 2,element 3,...,element n)
参数说明:
- tuplename:表示元组的名称。
- element 1,element 2,element 3,…,element n:表示元组中的元素,个数没有限制。
【2】创建空元组
在Python中,可以创建空元组,例如创建一个名称为num的空元组,可以使用下列代码:
num = ()
【3】创建数值元组
在Python中,可以使用list()函数直接将range()函数循环出来的结果转换为元组。
list()函数的基本语法如下:
tuple(data)
其中,data表示可以转换为元组的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据。
例如,创建一个10~20之间(不包含20)所有偶数的元组,可以使用下面代码:
num = tuple(range(10, 20, 2)) print(num)
运行结果如下:
说明: 使用list()函数时,不仅能通过range对象创建元组,还可以通过其他对象创建元组。
【4】删除元组
对于已创建的元组,不再使用时,可以使用del语句将其删除。语法格式如下:
del tuplename
其中,tuplename为要删除元组名称。
说明: del语句在实际开发时,并不常用。因为Python自带垃圾回收机制会自动销毁不用元组。所以我们即使不手动删除,Python也会自动将其回收。
三、访问元组
要访问元组中的值,请使用方括号进行指定索引切片或索引,以获取该索引处的值。
tup1 = ('physics', 'chemistry', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 6, 7 ) print ("tup1[0]: ", tup1[0]) print ("tup2[1:5]: ", tup2[1:5])
执行结果如下:
四、修改元组元素
元组是不可变的,这意味着我们无法更新或更改元组元素的值。 但是可以对元组重新赋值
tup = (12, 34.56) tup = ('abc', 'xyz') print(tup)
运行结果如下:
另外我们还可以对元组进行组合来创建新的元组,如下例所示:tup1 = (12, 34.56) tup2 = ('abc', 'xyz') tup3 = tup1 + tup2 print (tup3)
运行结果如下:
五、元组推导式
使用列表推导式可以快速生成一个元组,它的表现形式与列表相似。只是将推导式中的中括号“[]”,修改为小括号“()”。例如:生成10个随机数的元组,代码如下:
import random # 导入random标准库 randomnumber = (random.randint(10, 100) for i in range(10)) print("生成的元组为", randomnumber)
运行结果如下:
执行结果,可以看是元组推导式并不能生成列表或元组,是一个生成器,需要使用tuple()函数转换一下,代码如下:import random # 导入random标准库 randomnumber = (random.randint(10, 100) for i in range(10)) randomnumber = tuple(randomnumber) print("生成的元组为", randomnumber)
运行结果如下:
例如:通过生成器推导式生成一个包含3个元素的生成器对象number,然后调用3次__next__()方法输出每个元素,然后再将生成器转换为元组输出,代码如下:
number = (i for i in range(3)) print(number.__next__()) # 输出第一个元素 print(number.__next__()) # 输出第二个元素 print(number.__next__()) # 输出第三个元素 number = tuple(number) # 转换为元组 print(number)
运行结果如下:
通过上面示例可以看出,如果想使用该生成器对象,必须重新创建一个生成器对象,因为遍历后原生成器对象已经不存在了。
-
Python中元组的基本操作
2021-09-24 10:11:271、元组转列表 2、通过索引打印出元组中对应的元素,索引不存在报错 3、查询元素出现的个数 4、查询对应元素的索引 一定要记得:元组不能进行增删改查 5、元组的循环取值两种方式:for循环和while...1、元组转列表
2、通过索引打印出元组中对应的元素,索引不存在报错
3、查询元素出现的个数
4、查询对应元素的索引
一定要记得:元组不能进行增删改查
5、元组的循环取值两种方式:for循环和while循环
for循环:
while循环:
-
Python入门教程4. 元组基本操作 原创
2020-12-25 04:39:19前面简单介绍了Python列表基本操作,这里再来简单讲述一下Python元组相关操作 >>> dir(tuple) #查看元组的属性和方法 ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '... -
python之元组的基本操作
2022-05-23 07:12:52目录一、背景二、基本操作1、概念2、创建元组3、访问元组4、合并元组5、元组的遍历三、内置函数四、参考五、总结 一、背景 Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单...博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。
一、背景
Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python元组的基本操作。
二、基本操作
1、概念
元组(tuple):与列表类似,不同之处在于不能修改元组的元素,元组使用圆括号包含元素,而列表使用方括号包含元素。
2、创建元组
只需要在圆括号中添加元素,并使用逗号分隔元素即可,也可省略圆括号,直接使用逗号分隔元素。
(1)如果要定义一个空元组,可以用没有包含内容的圆括号来表示。
(2)Python在定义只有1个元素的元组时,在元素后面必须加一个逗号“,”,例如。x = ('a', 'b', 1, 2, 3) # 创建元组x print(x) y = 'a', 'b', 'c', 'd' # 创建元组y时省略了圆括号 print(y) x = () # 创建空元组x print(x) x = (1,) # 创建只有一个元素的元组x print(x)
结果如下。
3、访问元组
与列表类似,可以使用下标索引来访问元组中的值。
x = ('a', 1, 3.14) # 创建元组x print(x[0]) # 输出元组索引为0的元素 print(x[1]) # 输出元组索引为1的元素 print(x[2]) # 输出元组索引为2的元素
结果如下。
4、合并元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。
x = (1, 2, 3) # 创建元组x y = ('a', 'b') # 创建元组y z = x + y # 将元组x和y进行连接组合后赋给z print(z)
结果如下。
5、元组的遍历
与列表一样,也可以使用for循环来遍历元组中的所有元素。
x = (1, 2, 3, 4, 5) # 创建元组x for n in x: # 循环 print(n, ' ', end="") # 输出元素
结果如下。
三、内置函数
Python提供的元组内置函数有len()、max()、min()和tuple()。
tuple()函数的功能是以一个序列为参数,并把它转换为元组,如果参数本身是元组,则原样返回该参数。a = tuple([1, 2, 3]) # 将列表转换为元组 b = tuple('abc') # 将字符串转换为元组 c = tuple((1, 2, 3)) # 参数为元组 print(a) print(b) print(c)
结果如下。
四、参考
1、廖雪峰的官网
2、python官网
3、Python编程案例教程
五、总结
以上就是就是关于Python元组的基本操作的相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。
-
Python元组
2020-11-24 02:39:42元组是一系列不可变的Python对象。元组是一种序列,就像列表一样。元组和列表之间的主要区别是元组不能像列表那样改变元素的值,可以简单地理解为“只读列表”。 元组使用小括号 - (),而列表使用方括号 - [] 。创建... -
python元组的概念与基本操作
2021-01-29 04:56:04元组与列表类似,关于元组同样需要做如下三点:A.概念1.元组通过英文状态下的圆括号构成“()”.其存放元素与列表一样,可以是不通的数值类型,也可以是不通的数据结构。2.元组仍然是一种序列,所以几种获取列表元素... -
python元组操作
2020-11-24 04:19:00python元组相加a = (1,2)b = (3,4)a + b元组运用乘法(1,2) * 4#在这里边,元组不会被当成数字来计算,而是输出4次给字母类型的元组拍t = (bb,dd,aa,cc)tm = list(t)tm.sort()#然后输出tmt = tuple(tm)用f... -
python 元组 与 字典
2022-04-18 20:52:33当使用圆括号“()”创建元组时,如果元组中只包含一个元素,那么需要在该元素的后面添加逗号,从而保证Python解释器能够识别其为元组类型。 tu_one = () # 空元组 tu_two = (‘t’, ‘u’, ‘p’, ‘l’, ‘e’) #... -
python元组和集合基本知识
2022-04-12 09:50:56人生苦短,我用python。本文介绍了元组和集合的基础知识和基本操作,基础薄弱和新学python的可以看一看。 -
python元组的创建
2022-06-25 22:33:50本节主要介绍了元组的创建。Python语言之所以加入元组的概念,是因为Python语言中很多内建好的函数和方法使用了元组没所以不得不使用这个只读的列表(元组) -
Python——元组_元组的基本操作_元组与列表相互转换
2021-10-28 17:33:20元组是包含0个或多个...元组的基本操作 例 5-5 元组的基本操作: >>> tup1 = ('physics','chemistry',1997,2000) #元组中包含不同类型的数据 >>> tup2 = (1,2,3,4,5) >>> tup3 = "a","b", -
Python入门教程4. 元组基本操作 原创</font>
2020-09-19 23:58:32主要介绍了Python元组基本操作,简单介绍了元组的创建、count方法元素统计、index方法元素获取等相关操作技巧与注意事项,需要的朋友可以参考下 -
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2020-09-18 12:47:30主要介绍了Python元组 tuple的概念与基本操作,结合实例形式详细分析了Python元组的定义、创建、访问、计数、推导式等常见操作技巧与操作注意事项,需要的朋友可以参考下 -
python 元组插入到数据库
2020-12-16 02:03:14Python操作SQLite数据库连接数据库从2.5版本开始,Python的标准库中就有了一个专门用于SQLite的sqlite3模块。连接SQLite数据库方式如下:import sqlite3 as dbapicon = dbapi.connect('population.db')cur = con.... -
python元组的优势有哪些
2021-03-05 21:54:36本篇对于python元组的优点进行了分析和总结,下面就两个优势点带来介绍。1、因为元素不可变性,它可以作为哈希类型的 key 值。这样使的key的描述意义更丰富,更易理解。2、对于元组,解释器会缓存一些小的静态变量... -
7.python元组基础操作
2022-02-10 10:10:45python 元组(tuple)的基础操作 -
详解Python的元组(tuple)的12种操作方法,并附示例代码
2022-06-22 13:50:56Python 的元组与列表类似,不同之处在于元组的元素不能修改,也不能增加元素或删除元素,以上操作不能进行的原因大家从其名字也可以看出嘛,“元”的意义有最小单位,不可修改之意。元组使用小括号 ( ),列表使用方... -
Python元组常用操作小技巧
2021-08-09 20:24:44我们先来回顾和总结Python数据结构里常用操作。Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。而扁平序列如str、bytes、bytearray、... -
Python 元组常用操作方法
2020-07-17 09:57:47Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 创建元组 tup1 = ('physics', 'chemistry', 1997, 2000) tup2 ... -
Python有关元组的基本操作
2021-02-03 11:01:29一:元组(tuple)的创建:元组也是Python中的一种有序的序列,它和列表非常的相似,不同的是,列表中的元素是可以进行修改的,但是元组中的元素是不可修改的,即元组是不可变的序列。上篇中说列表使用中括号 [ ] ,... -
Python 元组和range
2021-10-28 21:37:01元组也是python的基本数据类型之一,用小括号括起来,里面可以装任何数据类型,可以查询,可以迭代,也可以切片,但就是不能改。 tu = (3, ) # 元组中如果只有一个元素,需要在括号里有一个, tu = tuple() # 这是空... -
Python入门基础 元组 (元组的基础操作)
2022-01-24 13:25:06元组 Python内置的数据结构之一,是...t=("python","hello",90) #定义元组,元组和列表的外貌区别在于括号 #使用内置函数tuple(),一般用于类型转换,比如将列表转为元组 t1=tuple(("PYTHON","HELLO",99)) #元组里. -
python元组与集合的基本操作
2021-08-15 22:17:32集合的基本操作1.添加元素2.删除元素3.集合运算 前言 前两篇文章中已经介绍了字典和列表,本文是元组和集合的相关笔记。 注:#后面的代码表示输出结果 一、元组 1.元组定义 元组也是存一组数据,只是一旦创建,便不... -
7. Python的元组&字典&集合
2020-12-20 19:56:447. Python的元组&字典&集合1. 元组简介1.1 元组的 增1.2 元组的 改1.3 元组的 删1.4 元组的 查1.5 元组的 运算符 和 操作函数2. 可变对象2.1 第一个可变对象方法... 集合4.1 集合简介4.2 集合的基本操作4.2.1 集合的查4 -
如何在Python元组中定义重复项?
2021-04-27 09:47:43定义一个由整数组成的元组(其中每个项的出现次数是已知的)的一些好方法是什么?例如,我想定义一个具有3 2、2 4和1、3、5的元组出现一次。为此,我可以一直采用手动方式:foo = (1, 2, 2, 2, 3, 4, 4, 5)然而,当... -
元组基本操作
2020-12-06 05:08:54Python将不能修改的值称为不可变的,而不可变的列表被称为元组。## 定义元组元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。例如... -
Python元组基础知识
2021-04-27 10:01:30不可变序列,可以看做不可变的列表,与列表不同:元组中数据一旦确立就不能改变(所以没有类似列表的增删改操作,只有基本序列操作)3.支持任意类型,任意嵌套以及常见的序列操作4.元组通常用在使语句或用户定义的函数... -
Python3实现对列表按元组指定列进行排序的方法分析
2020-09-19 19:56:32主要介绍了Python3实现对列表按元组指定列进行排序的方法,结合实例形式分析了Python3针对列表排序的常见操作技巧与注意事项,需要的朋友可以参考下 -
python元组和列表比较
2022-04-19 15:14:07三、列表和元组的访问符号和方法:[]和index(x)、count(x) 四、列表和元组的操作函数(外部函数) 总结 前言 列表list、元组tuple都是python的数据集合类型。 简单的区别:列表装载一组数据是变量;元组装载一组...