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...