Python學習筆記12(RUNOOB)

2021-08-21 01:23:59 字數 3919 閱讀 5414

python中列表是可變的,這是它區別於字串和元組的最重要的特點,一句話概括即:列表可以修改,而字串和元組不能。

以下是 python 中列表的方法:

方法描述

把乙個元素新增到列表的結尾,相當於 a[len(a):] = [x]。

list.extend(l)

通過新增指定列表的所有元素來擴充列表,相當於 a[len(a):] = l。

list.insert(i, x)

list.remove(x)

刪除列表中值為 x 的第乙個元素。如果沒有這樣的元素,就會返回乙個錯誤。

list.pop([i])

從列表的指定位置移除元素,並將其返回。如果沒有指定索引,a.pop()返回最後乙個元素。元素隨即從列表中被移除。(方法中 i 兩邊的方括號表示這個引數是可選的,而不是要求你輸入一對方括號,你會經常在 python 庫參考手冊中遇到這樣的標記。)

list.clear()

移除列表中的所有項,等於del a[:]。

list.index(x)

返回列表中第乙個值為 x 的元素的索引。如果沒有匹配的元素就會返回乙個錯誤。

list.count(x)

返回 x 在列表中出現的次數。

list.sort()

對列表中的元素進行排序。

list.reverse()

倒排列表中的元素。

list.copy()

返回列表的淺複製,等於a[:]。

# 

列表當棧

stack = [1, 2

, 3, 4]

print(stack)

print(stack.pop())

print(stack.pop())

print(stack.pop())

print(stack)

輸出結果:

[1, 2, 3, 4, 6, 7, 8]87

6[1, 2, 3, 4]

列表推導式提供了從序列建立列表的簡單途徑。通常應用程式將一些操作應用於某個序列的每個元素,用其獲得的結果作為生成新列表的元素,或者根據確定的判定條件建立子串行。

每個列表推導式都在 for 之後跟乙個表示式,然後有零到多個 for 或 if 子句。返回結果是乙個根據表達從其後的 for 和 if 上下文環境中生成出來的列表。如果希望表示式推導出乙個元組,就必須使用括號。

# 

列表推導式

vec1 = [2, 4

, 5, 7]

vec2 = [1, 3

, 8, 6]

vec11 = [x**2

for x in vec1]

vec22 = [x*2

for x in vec2 if x < 7]

print(vec11)

print(vec22)

vec12 = [x*y for x in vec1 for y in vec2]

print(vec12)

輸出結果:

[4, 16, 25, 49]

[2, 6, 12]

[2, 6, 16, 12, 4, 12, 32, 24, 5, 15, 40, 30, 7, 21, 56, 42]

python的列表還可以巢狀。

以下例項展示了3x4的矩陣列表:

# 

列表巢狀

——構造矩陣

(3x4)

matrix = [

[2, 3

, 5, 6],

[4, 1,

8, 0],[2, 2

, 7, 5],

]print(matrix)# 將

3x4的矩陣列表轉換為

4x3列表

t_matrix = [[row[i] for row in matrix] for i in

range(4)] #

內建range

()函式可以遍歷數字序列

print(t_matrix)

輸出結果:

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

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

另乙個非常有用的 python 內建資料型別是字典。

序列是以連續的整數為索引,與此不同的是,字典以關鍵字為索引,關鍵字可以是任意不可變型別,通常用字串或數值。

理解字典的最佳方式是把它看做無序的鍵=>值對集合。在同乙個字典之內,關鍵字必須是互不相同。

# 

建構函式

dict()

直接從鍵值對元組列表中構建字典

dic = dict([(1

, "red"), (2

, "purple"), (3

, "white")])

print(dic)

輸出結果:

# 

字典推導可以用來建立任意鍵和值的表示式詞典

dic1 =

print(dic1)

輸出結果:

# 

遍歷# 1.

在字典中遍歷時,關鍵字和對應的值可以使用

items()

方法同時解讀

dic =

for k, v in dic.items():

print(k, v)

# 2.

在序列中遍歷時,索引位置和對應值可以使用

enumerate()

函式同時得到

lis = ["red"

, "purple"

, "white"]

for i, j in

enumerate(lis):

print(i, j)

# 3.

同時遍歷兩個或更多的序列,可以使用

zip()

組合lis1 = [1, 2

, 3]

lis2 = ["red"

, "purple"

, "white"]

lis3 = ["t"

, "t"

, "f"]

for i, j, k in

zip(lis1, lis2, lis3):

print(i, j, k)

# 4.

反向遍歷乙個序列,首先指定這個序列,然後呼叫

reversed()

函式revlist = [2, 4

, 1, 0

, 6, 8

, 5]

print("["

, end=" ")

for i in

reversed(revlist):

print(i,

end=" ")

print("]")

# 5.

按順序遍歷乙個序列,使用

sorted()

函式返回乙個已排序的序列

sorlist = [2, 4

, 1, 0

, 6, 8

, 5]

print("["

, end=" ")

for i in

sorted(sorlist):

print(i,

end=" ")

print("]")

輸出結果:

1>>>>>>

1 red

2 purple

3 white

2>>>>>>

0 red

1 purple

2 white

3>>>>>>

1 red t

2 purple t

3 white f

4>>>>>>

[ 5 8 6 0 1 4 2 ]

5>>>>>>

[ 0 1 2 4 5 6 8 ]

Python學習筆記12

分支和迴圈 1.判斷乙個條件,如果這個條件成立,就執行其包含的某條語句或者某個 塊 if condition statement s 2.判斷乙個條件,如果這個條件成立就執行其飽含的某條語句或者某個 塊,如果不成立則執行另外的某條語句或者某個 塊 if condition statement s e...

Python學習筆記Lesson1 2

1.python中的語句不使用分號結尾 2.python中 接受輸入可以用 變數名 input 其中input中可以帶引數,例如name input 請輸入使用者名稱 3.python輸出print 可以用逗號連線輸出字元 也可以用 例如print 歡迎回來,name print 歡迎回來,name...

python3學習筆記(12)

import random 關鍵字end可以用於將結果輸出到同一行,或者在輸出的末尾新增不同的字元 list 1,2,3,4,5 for x in list print x,end if條件控制 格式如下 if 表示式 語句塊 語句塊注意前面的空格 else 語句塊多個條件 if condition...