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序列-元组的主要内容,如果未能解决你的问题,请参考以下文章

python数据类型——列表元组字典集合

Python序列--字符串和列表和元组

Python 元组列表

Python回顾与整理4:序列(字符串/列表/元组)

Python学习笔记之列表和元组

利用Python进行数据分析笔记:3.1数据结构