元组tuple
列表属于可变序列,可以任意修改列表中的元素,元组属于不可变序列,不能修改元组中的
元素,因此,元组没有增加元素,修改元素,删除元素相关的方法
因此,我们只需要学习元组的创建和删除,元组中元素的访问和技术即可,元组支持以下操作
1.索引访问 2.切片操作 3.连接操作 4.成员关系操作 5.比较运算操作
6.计数:元组长度len(),最大值max(),最小值(),求和sum()
元组的创建
1.通过()创建元组,小括号可以省略。
如果元组只有一个元素,则必须后面加逗号,这是因为解释器会把(1)解释为整数1,(1,)
>>> a =(1,2,3) >>> type(a) <class 'tuple'> >>> b = (1) >>> type(b) <class 'int'> >>> a = 1,2,3 >>> type(a) <class 'tuple'>
通过tuple()创建元组
tuple(可迭代的对象)
>>> a = tuple() #创建一个空元组对象 >>> a () >>> b = tuple("abc") >>> b ('a', 'b', 'c') >>> b = tuple(range(5)) >>> b (0, 1, 2, 3, 4)
tuple()可以接受列表,字符串,其他序列类型,迭代器等生成元组
list()可以接受元组,字符串,其他序列类型,迭代器等生成列表
元组的删除
>>> b = tuple(range(5)) >>> b (0, 1, 2, 3, 4) >>> del b >>> b Traceback (most recent call last): File "<pyshell#14>", line 1, in <module> b NameError: name 'b' is not defined
元组的元素访问和计数
1.元组的元素不可修改
>>> a = (20,30,40,50) >>> a[0] 20 >>> a[1] = 1; #不可修改 Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> a[1] = 1; TypeError: 'tuple' object does not support item assignment
2.元组的元素访问和列表一样,只不过返回的仍然是元组
>>> b = tuple("abcdefghijklmnopqrstuvwxyz") >>> b ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') >>> b[1:20:2] #切片操作 ('b', 'd', 'f', 'h', 'j', 'l', 'n', 'p', 'r', 't')
3.列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法,如果要对元组排序
只能使用内置函数sorted(tupleObj),并生成新的列表对象 元祖——》列表的方法
>>> a = (20,10,50,40,30) >>> a (20, 10, 50, 40, 30) >>> sorted(a) [10, 20, 30, 40, 50] >>> b = (1,2,3,4,5) >>> a+b (20, 10, 50, 40, 30, 1, 2, 3, 4, 5)
zip(列表1,列表2,…)将多个列表对应位置的元素组合成为元组,并返回这个zip对象 列表——》元祖方法(拉链方法),以最小的列表单元生成元祖
>>> a =list(range(5)) >>> b =list(range(5,10)) >>> b [5, 6, 7, 8, 9] >>> c = list(range(10,16)) >>> d = zip(a,b,c) >>> d <zip object at 0x000002170E6DDBC8> >>> list(d) [(0, 5, 10), (1, 6, 11), (2, 7, 12), (3, 8, 13), (4, 9, 14)]
ps:部分内容来自于互联网整理,如有侵权请联系我们,我们会在看到通知后24小时内做出处理。
posted on
浙公网安备 33010602011771号