序列(list)
阿新 • • 發佈:2020-08-01
1.列表、元組和字串的共同點
- 都可以通過索引得到每一個元素
- 預設索引值總是從0開始
- 可以通過分片的方法得到一個範圍內的元素的集合
- 有很多共同的操作符(重複操作符、拼接操作符、成員關係操作符)
2.建立序列
>>> list('abcdefg') ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> list([1,2,3,4,5]) [1, 2, 3, 4, 5] >>> list(('a',1,5,8,9,6)) ['a', 1, 5, 8, 9, 6] >>>
3.重要方法
len
>>> len(('a',1,5,8,9,6)) 6 >>>
max,min
>>> a = ('a',1,5,8,9,6) >>> b = ('3',1,5,8,9,6) >>> max(a) Traceback (most recent call last): File "<pyshell#85>", line 1, in <module> max(a) TypeError: '>' not supported between instances of 'int' and 'str' >>> max(b) Traceback (most recent call last): File "<pyshell#86>", line 1, in <module> max(b) TypeError: '>' not supported between instances of 'int' and 'str' >>> b = (3,1,5,8,9,6) >>> max(b) 9 >>>
可以看出在使用max的引數必須是資料型別一致的序列
sum
>>> sum(b) 32
>>> b = (3,1,5,8,9,6) >>> sum(b,1) 33
sorted
>>> b = (3,1,5,8,9,6) >>> sum(b,1) 33 >>> sorted(b) [1, 3, 5, 6, 8, 9] >>>
reversed
>>> numbers = [1,2,5,6,8,3,8,4] >>> reversed(numbers) <list_reverseiterator object at 0x000001EA6BA17C18> >>>
這樣呼叫是直接返回一個list物件,所以需要用list解析
<list_reverseiterator object at 0x000001EA6BA17C18> >>> list(reversed(numbers)) [4, 8, 3, 8, 6, 5, 2, 1] >>>
enumerate 列舉
>>> enumerate(numbers) <enumerate object at 0x000001EA6BA326C0> >>> list(enumerate(numbers)) [(0, 1), (1, 2), (2, 5), (3, 6), (4, 8), (5, 3), (6, 8), (7, 4)] >>>
enumerate返回的也是list物件,所以list解析,最終返回一個包含第一個值為索引,第二個值為值的多個元組的列表
zip
>>> a = [1,2,3,4,5,6,7,8] >>> b = [5,6,5,4] >>> zip(a,b) <zip object at 0x000001EA6BAB76C8> >>> list(zip(a,b)) [(1, 5), (2, 6), (3, 5), (4, 4)]
類似男女成對,女生數量不夠就會生出很多單身狗^_^