python元组的特点及基础操作

元组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)]
发布了68 篇原创文章 · 获赞 30 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43254438/article/details/84256317