Python之路,第七篇:Python入门与基础7

时间:2023-03-08 16:49:31
Python之路,第七篇:Python入门与基础7

python3 元组 (tuple)

元组是不可改变的序列, 同list 一样, 元组可以存放任意的值;

表示方法:

用小括号()括起来;  单个元素括起来后加逗号(,)区分单个对象还是元组;

创建空元组:

t = ()   #空元组

t= tuple() #空元组

创建一个非空元组:

t = (10,) # 含有一个元素的元组;

t= 10,

t=(1,2,3)

t= 10 ,20, 30

t = ‘hello’ ,

t = (‘1’,‘2’, ‘tree’)

创建元组错误示例:

t = (20)

#序列赋值

x, y = 100, 200  # x绑定100, y绑定200

x, y = (100, 200)  # x绑定100, y绑定200

x, y = [100, 200]  # x绑定100, y绑定200

x, y = "AB"  #序列赋值

元组的构造(生成)函数tuple

tuple()               #生成一个空元组, 等同于()

tuple(iterable)   #用可迭代对象生成一个元组

元组的运算:

算术运算:   +   、  +=   、  *  、 *=

+     拼接

+=    拼接后对变量赋值

*      生成重复的元组

*=     生成重复的元组并赋值给变量

 >>> (1,3) + (4,5)
(1, 3, 4, 5)
>>> x = (1,2,3)
>>> x += (4,)
>>> x
(1, 2, 3, 4)
>>>
>>> x
(1, 2, 3, 4)
>>> x * 3
(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4)
>>> x
(1, 2, 3, 4)
>>> x *= 3
>>> x
(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4)
>>>

比较运算符:  <    <=    >   >=    ==  !=

 >>> x =(1,2,3)
>>> y = (1,3,2)
>>> x < y
True
>>> x > y
False
>>> x == y
False
>>> x != y
True
>>>

元组的 in  / not in  运算符

同字符串和列表的in 运算符相同,用于判断一个值是否存在于元组中,存在返回True,不存在返回False。

 >>> x
(1, 2, 3)
>>> 1 in x
True
>>> 5 in x
False
>>> 5 not in x
True

元组的索引  indes

等同于字符串的索引规则; 但是元组不能切片赋值;

 >>> x
(1, 2, 3)
>>> x[0]
1
>>> x[0] = 5
Traceback (most recent call last):
File "<pyshell#51>", line 1, in <module>
x[0] = 5
TypeError: 'tuple' object does not support item assignment
>>> x[::2] = 5,6
Traceback (most recent call last):
File "<pyshell#52>", line 1, in <module>
x[::2] = 5,6
TypeError: 'tuple' object does not support item assignment
>>>

可用于序列的函数总结:

len(x)

max(x)

min(x)

sum(x)

any(x)

all(x)

reversed(seq)   # 返回反向序列顺序的迭代器

sorted(iterable)      #返回已排序的列表

 >>> s = 'ABCDEF'
>>> reversed(s)
<reversed object at 0x00000000034CA710>
>>> r = reversed(s)
>>> r
<reversed object at 0x0000000003711BA8>
>>> list(r)
['F', 'E', 'D', 'C', 'B', 'A']
>>> list(r)
[] #在迭代器里再去拿数据时已经没有了,拿不了了。

s='ABC'

for  x in reversed(s):

print(x)

 >>> s = 'ABCDEF'
>>> r = reversed(s)
>>> for x in r:
print(x) F
E
D
C
B
A
>>>
>>> s = 'AGBDCEF'
>>> sorted(s) #正向
['A', 'B', 'C', 'D', 'E', 'F', 'G']
>>> sorted(s, reverse=True) #反向
['G', 'F', 'E', 'D', 'C', 'B', 'A']
>>> ''.join(sorted(s)) #可迭代对象合并成列表
'ABCDEFG'
>>>
>>> help(''.join)
Help on built-in function join: join(...) method of builtins.str instance
S.join(iterable) -> str Return a string which is the concatenation of the strings in the
iterable. The separator between elements is S. >>>

元组的方法:

T.index( v [, begin [,end]])  返回对应元素索引的下标,begin为开始索引,end为结束索引(不包含end);

T.count(x)  返回元组中对应元素的个数;

练习: