龙空技术网

Python学习(八)元组的创建及常用操作详解

双鱼座的程序猿 430

前言:

此刻咱们对“python创建元祖tuple1”大约比较关心,各位老铁们都想要学习一些“python创建元祖tuple1”的相关知识。那么小编也在网摘上汇集了一些有关“python创建元祖tuple1””的相关资讯,希望你们能喜欢,看官们一起来学习一下吧!

什么是元组?

Python内置的数据结构之一,是一个不可变序列
不可变序列与可变序列的区别:			不可变序列:字符串、元组【没有增、删、改、查的操作】      可变序列:列表、字典【可以对序列执行增、删、改、查操作;且对象地址不发生更改】      # 可变序列  列表、字典lst = [10,20,30]print('新增前列表地址',id(lst)) # 新增前列表地址 2997720003584lst.append(300)print('新增后列表地址',id(lst)) # 新增后列表地址 2997720003584# 不可变序列  字符串、元组s = 'python'print('新增前字符串地址',s,id(s)) # 新增前字符串地址 python 2997720003248s = 'hello '+sprint('新增后字符串地址',s,id(s)) # 新增后字符串地址 hello python 2997720311088
元组的创建方式
直接使用小括号 (): a = ('Python','hello',12)  或者 	a = 'Python','hello',12使用内置函数 tuple():  a = tuple( ('Python','hello',12))只包含一个元组的元素需要使用逗号和小括号:	a =  ('Python',)创建空元组:a = () 	或者	a = tuple()
为什么要将元组设计为不可变序列
在多线程环境下,同时操作对象时不需要加锁。因此在程序中尽量使用不可变序列。注意:元组中存储的时对象的引用。		1)如果元组中对象本身不可对象,则不能再引用其它对象    2)如果元组中的对象是可变对象,则可变对象的引用不允许改变,但数据可以改变。
t = (10,['python',12],9)print('操作前的元组',t,type(t)) # 操作前的元组 (10, ['python', 12], 9) 	<class 'tuple'>print('取下标为0的元素',t[0],type(t[0]),id(t[0])) # 取下标为0的元素 10                  <class 'int'>  2057875712592print('取下标为1的元素',t[1],type(t[1]),id(t[1])) # 取下标为1的元素 ['python', 12] <class 'list'> 2057876746752# 由于  ['python', 12] 是一个列表,是可变序列。所以可以向列表中添加元素,但是列表的内存地址不会发生改变t[1].append(100) # 向列表中添加元素print('添加元素后的列表',t[1],id(t[1])) # 添加元素后的列表              ['python', 12, 100]              2057876746752print('取下标为2的元素',t[2],type(t[2]),id(t[2])) # 取下标为2的元素 9                    <class 'int'>  2057875712560
元组的遍历
元组是可迭代对象,所以可以使用 for... ...in 进行遍历
t = (10,['python',12],9)# 使用索引获取元组元素print('使用索引获取的元组元素',t[0])# print('使用索引获取的元组元素',t[3]) # IndexError: tuple index out of range 索引下标在元组中不存在时,会返回索引超出范围的异常# 遍历元组for item in t:    print('使用for...in遍历获取的元组元素',item)

标签: #python创建元祖tuple1 #python元祖用来做什么 #python列表怎么转元组 #python创建元组怎么做 #python for 元组