Python學習筆記 序列

2021-08-22 03:21:43 字數 3880 閱讀 6685

1.序列

我們根據列表、元祖和字串的共同特點,把它們三統稱為序列。

這三者有以下共同點:

1)都可以通過索引得到每乙個元素

2)預設索引值總是從0開始(python還支援負數索引)

3)可以通過分片的方法得到乙個範圍內的元素的集合

4)有很多共同的操作符(重複操作符、拼接操作符、成員關係操作符)

2.迭代

迭代是重複反饋過程的活動,其目的通常是為了逼近所需目標或結果。每一次對過程的重複稱為一次」迭代」,而每一次迭代得到的結果會作為下一次迭代的初始值。

3.list()

list() -> 新建空的列表

list(iterable) -> 將一組可迭代的資料轉換為列表

>>> tuple1 = (12,'哈哈','cba','#$%')

>>> list1 = list(tuple1)

>>> list1

[12, '哈哈', 'cba', '#$%']

>>> tuple1

(12, '哈哈', 'cba', '#$%')

>>> str1 = 'adsadsadsadsada'

>>> list1 = list(str1)

>>> list1

['a', 'd', 's', 'a', 'd', 's', 'a', 'd', 's', 'a', 'd', 's', 'a', 'd', 'a']

>>> str1

'adsadsadsadsada'

4.tuple()

tuple() -> 新建空的元組

tuple(iterable) -> 將一組可迭代的資料轉換為元組

>>> list1 = [12, '哈哈', 'cba', '#$%']

>>> tuple1 = tuple(list1)

>>> tuple1

(12, '哈哈', 'cba', '#$%')

>>> list1

[12, '哈哈', 'cba', '#$%']

>>> str1 = 'adsadsadsadsada'

>>> tuple1 = tuple(str1)

>>> tuple1

('a', 'd', 's', 'a', 'd', 's', 'a', 'd', 's', 'a', 'd', 's', 'a', 'd', 'a')

>>> str1

'adsadsadsadsada'

5.str()

str() -> 新建空的字串

str(obj) -> 將目標資料轉換為字串格式

>>> str1 = str(list1)

>>> str1

"[12, '哈哈', 'cba', '#$%']"

6.len()

len() 方法返回物件(字元、列表、元組等)長度或專案個數。

>>> len(str1)

12>>> list1 = [1, 2, 3, 4]

>>> len(list1)

4

7.max()

max()函式返回序列或者引數集合中的最大值

同理min()函式返回最小值

>>> str1 = 'abcdefg'

>>> max(str1)

'g'>>> list1 = [1,50,3,96,4,12]

>>> max(list1)

96

8.sum()

sum() 函式對序列進行求和計算

sum(iterable[, start])

iterable – 可迭代物件,如:列表、元組、集合。

start – 指定相加的引數,如果沒有設定這個值,預設為0。

>>> list1 = [1,2,3,4,5,6,7,8,9]

>>> sum(list1)

45>>> sum(list1,10)

55

9.sorted()

sorted() 函式對所有可迭代的物件進行排序操作。

.sort() 與 sorted() 區別:

sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。

list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函式 sorted 方法返回的是乙個新的 list,而不是在原來的基礎上進行的操作。

>>> list1

[9, 8, 7, 6, 5, 4, 3, 2, 1]

>>> sorted(list1)

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> list1

[9, 8, 7, 6, 5, 4, 3, 2, 1]

>>> list1.sort()

>>> list1

[1, 2, 3, 4, 5, 6, 7, 8, 9]

10.reversed()

和sorted()類似,不過需要注意的是,reversed 函式返回的不是乙個序列,而是乙個反轉的迭代器物件。

>>> list1 = ['小明',12,556,'hello','小張']

>>> reversed(list1)

0x000002089dd08eb8>

>>> list(reversed(list1))

['小張', 'hello', 556, 12, '小明']

>>> tuple(reversed(list1))

('小張', 'hello', 556, 12, '小明')

11.enumerate()

enumerate() 函式用於將乙個可遍歷的資料物件(如列表、元組或字串)組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。

同reversed()一樣返回乙個迭代器物件。

>>> str1 = 'hello world !'

>>> enumerate(str1)

0x000002089dd2a3f0>

>>> list(enumerate(str1))

[(0, 'h'), (1, 'e'), (2, 'l'), (3, 'l'), (4, 'o'), (5, ' '), (6, 'w'), (7, 'o'), (8, 'r'), (9, 'l'), (10, 'd'), (11, ' '), (12, '!')]

可見,enumerate()會使序列的每乙個元素與其索引值一起構成乙個元組。

12.zip()

zip() 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件,這樣做的好處是節約了不少的記憶體。

返回乙個迭代器物件。

>>> list1 = [1, 2, 3, 4]

>>> list2 = [2, 2, 2, 2]

>>> list3 = [5, 6, 7, 8, 9, 10]

>>> zip(list1,list2)

0x000002089dd2c648>

>>> list(zip(list1,list2))

[(1, 2), (2, 2), (3, 2), (4, 2)]

>>> list(zip(list1,list3))

[(1, 5), (2, 6), (3, 7), (4, 8)]

>>> list(zip(list1,list2,list3))

[(1, 2, 5), (2, 2, 6), (3, 2, 7), (4, 2, 8)]

python序列學習筆記

序列均從0開始遞增 最後乙個元素的位置編號是 1 示例 分片 例如有這樣乙個序列arrs 1,2,3,4,5,6,7,8,9,10 訪問序列第8,9,10個元素,arrs 7 10 8,9,10 注意元素的標識是0 9,即從標識為7的元素開始 包含7 取到標識為10的元素 不包含10 簡單記作 7 ...

Python 學習筆記 序列

序列表示有序排列,並且可以通過下標偏移量訪問到它的乙個或幾個成員。字串 123 列表 0,123 元組 123 456 都屬於序列 定義乙個字串 序列 字串的值要用引號 sx 鼠牛虎兔龍蛇馬羊猴雞狗豬 為變數賦值 year 2018 為變數賦予整數進行計算 不需要引號 對變數進行計算 year 12...

python通用序列學習筆記

序列是python開發 中最基本的資料結構,在python程式中包括6種內建的序列,分別是 列表 元組 字串 unicode字串 buffer物件和xrange物件。下面就逐一給大家揭曉python通用序列的操作方法。1 索引 所有程式設計師都知道,索引下標從零開始,python也是這樣,索引0指向...