python序列-元组
Posted 一生要强的锦鲤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python序列-元组相关的知识,希望对你有一定的参考价值。
元组和列表的区别
列表属于可变序列,可以随意地修改列表中的元素值以及增加和删除列表中的元素;元组属于不可变序列,元组一旦定义就不允许通过任何方式更改。元组没有提供append(),extend()和insert()等方法,无法向元组中添加元素,同样元组中也没有remove()和pop()方法,也不支持对元组元素进行del操作,不能从元组中删除元素,只能使用del命令删除整个元组,元组支持切片操作,但只是通过切片操作来访问元组中的元素,不支持使用切片来修改元组中的元素值,也不支持使用切片操作作为元组增加或删除元素。
1.创建元组
(1)直接将一个元组对象赋给变量
>>> a=(1,2,3,4)
>>> a
(1, 2, 3, 4)
>>> a=('a','b','mpilgrim','z','example')
>>> a
('a', 'b', 'mpilgrim', 'z', 'example')
>>> a=() #空元组
(2)用tuple()将其他类型(列表、range对象、字符串)转化为元组
>>> a=tuple(range(5))
>>> a
(0, 1, 2, 3, 4)
>>> print(tuple('asdfgh'))
('a', 's', 'd', 'f', 'g', 'h')
>>> a=tuple() #空元组
2.访问
双向索引
(1)访问:通过索引
>>> a=(1,2,3,4)
>>> a[1]
2
>>> a[-2]
3
(2)通过for语句
>>> a
(1, 2, 3, 4)
>>> for data in a:
print(data)
1
2
3
4
3.元组元素的增加
(1)运算符 + 、 +=、 *
>>> a=(1,2)
>>> b=(3,4)
>>> a=a+b
>>> a
(1, 2, 3, 4)
>>>
>>> a*3
(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4)
4.元组元素的删除
(1) del命令
>>> a
(1, 2, 3, 4)
>>> del a
>>> a
Traceback (most recent call last):
File "<pyshell#85>", line 1, in <module>
a
NameError: name 'a' is not defined
5.查找、 计数、成员判定
(1)查找:index()
>>> a=('h','e','l','l','o')
>>> a.index('e')
1
>>> a.index('a')
Traceback (most recent call last):
File "<pyshell#88>", line 1, in <module>
a.index('a')
ValueError: tuple.index(x): x not in tuple
(2)计数: count()
>>> a
('h', 'e', 'l', 'l', 'o')
>>> a.count('l')
2
(3)成员判定 in not in
>>> a
('h', 'e', 'l', 'l', 'o')
>>> 1 not in a
True
>>> 'h' not in a
False
>>> a
('h', 'e', 'l', 'l', 'o')
>>> 'h' in a
True
>>> 1in a
False
6.切片操作
>>> a
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> a[::]
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> a[::1]
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> a[::-1] #从左向右切,得到反向副本
(9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
>>> a[::2] #下标从0开始隔一个元素取一个元素
(0, 2, 4, 6, 8)
>>> a[1::2] #下标从1开始隔一个元素取一个元素
(1, 3, 5, 7, 9)
>>> a[3:6] #下标范围介于[3,6)元素
(3, 4, 5)
>>> a[3:6:1]
(3, 4, 5)
>>> a=('h','e','l','l','o')
>>> a[:3]
('h', 'e', 'l')
7.内置函数:sorted sum max min len
>>> a=(1,2,5,3,9,2,3,1,7)
>>> a
(1, 2, 5, 3, 9, 2, 3, 1, 7)
>>> sorted(a)
[1, 1, 2, 2, 3, 3, 5, 7, 9]
>>> sum(a)
33
>>> min(a)
1
>>> max(a)
9
>>> len(a)
9
python(元组,不可修改序列)
元组也是序列,区别于列表,它不可更改,语法简单只要加逗号隔开即可
1.1,2,3
(1,2,3)
2.42,
(42,)
3.3*(40+2)
126
3*(40+2,)
(42,42,42)
4.x = 1,2,3
x[1]
2
x[0:2]
(1,2)
以上是关于python序列-元组的主要内容,如果未能解决你的问题,请参考以下文章