元组的创建很简单,只需要在括号中添加元素,并使用逗号隔开即可,创建一个空元组,执行命令
var = () ,因为元组中的元素是不可修改的,所以列表中的操作方法insert,append,pop等操作对于元组这些都没有,又因为元组与列表的高度相似,列表的切片对元组是完全适用的(切片并不改变原始数据),所以只需要记住一个原则,列表中修改元素值的操作元组都不可用,列表中不修改元素值的操作元组基本上都可以用
元组和列表是可以互相转换的,使用tuple(list)可以将一个列表转换成元组,反过来使用list(tuple)也可以将一个元组转换为列表
编写一个showtuple.py来实验试一下
showtuple.py代码如下:
# coding: utf-8
__author__ = 'www.py3study.com'
class showtuple(object):
def __init__(self):
self.T1 = ()
self.createtuple() #创建元组
self.subtuple() #元组分片
self.tuple2list() #元组,列表转换
def createtuple(self):
print(u'创建元组')
print(u"T1 = (1,2,3,4,5,6,7,8,9,10)")
self.T1 = (1,2,3,4,5,6,7,8,9,10)
print(u"T1 =")
print(self.T1)
print('\n')
def subtuple(self):
print(u"元组分片:")
print(u"取元组T1的第4个到最后一个元组组成的新元组,执行命令T1[3:]")
print(self.T1[3:])
print(u"取元组T1的第2个到倒数第2个元素组成的新元组,步长为2,执行命令T1[1:-1:2]")
print(self.T1[1:-1:2])
print('\n')
def tuple2list(self):
print(u"元组转换成列表")
print(u"显示元组")
print(u"T1 =")
print(self.T1)
print(u"执行命令 L2 = list(T1)")
L2 = list(self.T1)
print(u"显示列表")
print(u"L2 =")
print(L2)
print(u"列表追加一个元素100后,转换成元组,执行命令L2.append(100),tuple(L2)")
L2.append(100)
print(u"显示新元组")
print(tuple(L2))
if __name__ == '__main__':
st = showtuple()执行结果如下:
"C:Program Files (x86)python3.6python.exe" D:/python3_study/showtuple.py 创建元组 T1 = (1,2,3,4,5,6,7,8,9,10) T1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 元组分片: 取元组T1的第4个到最后一个元组组成的新元组,执行命令T1[3:] (4, 5, 6, 7, 8, 9, 10) 取元组T1的第2个到倒数第2个元素组成的新元组,步长为2,执行命令T1[1:-1:2] (2, 4, 6, 8) 元组转换成列表 显示元组 T1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 执行命令 L2 = list(T1) 显示列表 L2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 列表追加一个元素100后,转换成元组,执行命令L2.append(100),tuple(L2) 显示新元组 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100)
因为元组和列表高度相似,绝大部分场合都可以用列表来代替元组
由于元组不可修改的特性,一般在函数中需要返回多个返回值时,可以将这些返回值放入一个元组中返回