序列
序列是python的基本數據結構,可以分類:可變序列 list,不可變序列tuple,str。
序列有列表list,元組tuple,字符串str的共同特點。
- 可以通過索引得到每一個元素
- 默認所引值從0開始
- 可以利用切片得到一個範圍內元素的集合
- 有很多共同的操作符(重複,拼接,成員關係)
list() -> new empty list
list(iterable) 迭代器,重複過程,反饋結果的活動
max = tuple[0]
for each in tuple1:
if each > max:
max = each
return max
序列常用操作
>>> a = list()
>>> a
[] #空序列
>>> b = 'I love you!'
>>> b = list(b)
>>> b
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'y', 'o', 'u', '!']
>>> c = (1,2,3,4,5,6,7)
>>> c = list(c)
>>> c
[1, 2, 3, 4, 5, 6, 7]
>>> len(a) #求長度
0
>>> len(b)
11
>>> max(c)#求最大值
7
>>> max(b)#返回序列中最大的ASCII碼值
'y'
>>> tuple1 = (1,2,3,4,5,6,7,8,9,0)
>>> max(tuple1)
9
>>> numbers = (1,34,63,76,107,-93,-68)
>>> min(numbers)
-93
需要注意的,當列表中含有字符,數字,等不同的數據類型時,max(),min()等函數不能使用。
>>> numbers = [1,34,63,76,107,-93,-68]
>>> numbers.append('a')
>>> numbers
[1, 34, 63, 76, 107, -93, -68, 'a']
>>> max(numbers)
#報錯:
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
max(numbers)
TypeError: '>' not supported between instances of 'str' and 'int'
>>> numbers = [1,34,63,76,107,-93,-68]
>>> sum(numbers)#求和
120
>>> sum(numbers,9)
129
>>> sorted(numbers)#排序
[-93, -68, 1, 34, 63, 76, 107]
#序列反向輸出
>>> list(reversed(numbers))
[-68, -93, 107, 76, 63, 34, 1]
#按照索引對序列每個元素編碼
>>> list(enumerate(numbers))
[(0, 1), (1, 34), (2, 63), (3, 76), (4, 107), (5, -93), (6, -68)]
#打包
>>> a = [1,2,3,4,5,6,7]
>>> b = [9,8,7,6,5]
>>> zip(a,b) #需要把zip轉化爲list才能輸出
<zip object at 0x000001CD0B563400>
>>> list(zip(a,b))
[(1, 9), (2, 8), (3, 7), (4, 6), (5, 5)]
>>> list(zip(b,a))
[(9, 1), (8, 2), (7, 3), (6, 4), (5, 5)]