視頻位置:121:50
2D Lists 二維數組,矩陣。 突然想起了大學裏的複變函數,掩面哭過…
matrix = [
[1,2,3],
[4,5,6],
[7,8,9]
]
matrix[0][1] = 100 #將第一行第2列的2 改爲 100
print(matrix)
print(matrix[0])
print(matrix[1][2]) #輸出第2行第3個
輸出爲:
[[1, 100, 3], [4, 5, 6], [7, 8, 9]]
[1, 100, 3]
6
遍歷矩陣中數據:
matrix = [
[1,2,3],
[4,5,6],
[7,8,9]
]
for row in matrix:
for item in row:
print(item)
輸出:
1
2
3
4
5
6
7
8
9
接下來
對數組(列表)的操作
- append
動詞v. (在文章後面) 附加,增補;
numbers = [5,2,1,7,4]
numbers.append(20) #附加,增補
print(numbers)
輸出爲:
[5, 2, 1, 7, 4, 20]
- insert
在所選後面插入,如下
numbers = [5,2,1,7,4]
numbers.insert(1,2000) #在第2個數字前面插入數字2000
print(numbers)
輸出爲:
[5, 2000, 2, 1, 7, 4]
- remove
移除特定內容
numbers = [5,2,1,7,4]
numbers.remove(7) #將數組裏面的內容7刪除,不是第7、8個
print(numbers)
輸出爲:
[5, 2, 1, 4]
- clear
清空內容
numbers = [5,2,1,7,4]
numbers.clear() #清空數組
print(numbers)
輸出如下:
[]
- pop
移除最後一項
numbers = [5,2,1,7,4]
numbers.pop() #移除最後一項
print(numbers)
輸出爲:
[5, 2, 1, 7]
- index
找到元素所在位置索引
numbers = [5,2,1,7,4]
print(numbers.index(7)) #元素7所在位置序號,如果沒有這個元素會報錯
輸出爲:
3
- 確認一個元素
在不在數組中可以這樣做:
numbers = [5,2,1,7,4]
print(5 in numbers)
print(5000 in numbers)
輸出爲:
True
False
上面的方法不會報錯,比index更安全。
下面的程序是計算元素出現的
- 次數
:
numbers = [5,2,1,7,5,4]
print(numbers.count(5)) #元素5出現的次數
print(numbers.index(5)) #元素5的位置,只看了首次出現的位置
輸出爲:
2
0
- sort
排序
numbers = [5,2,1,7,5,4]
numbers.sort()
print(numbers)
輸出爲:
[1, 2, 4, 5, 5, 7]
- reverse
翻轉
numbers = [5,2,1,7,5,4]
numbers.sort()
numbers.reverse() #reverse 翻轉
print(numbers)
[7, 5, 5, 4, 2, 1]
- copy
複製
numbers = [5,2,1,7,5,4]
numbers2 = numbers.copy() #複製一個獨立的列表,真複製,兩個地址不同
numbers3 = numbers #複製,但兩個地址是相同的
numbers.append(10)
print(numbers)
print(numbers2) #它不會變
print(numbers3) #它會跟着變,因爲地址相同
輸出爲:
[5, 2, 1, 7, 5, 4, 10]
[5, 2, 1, 7, 5, 4]
[5, 2, 1, 7, 5, 4, 10]
小練習:
刪除列表中的重複項目,
numbers = [2,4,7,4,6,5,2]
梳理一下功能:
append
numbers.append(20) 在最後添加一個元素20
insert
numbers.insert(1,2000) 在位置後面插入一個元素2000
remove
numbers.remove(7) #將數組裏面的元素7刪
clear
numbers.clear() #清空數組
pop
numbers.pop() #移除最後一個元素
index
print(numbers.index(7)) #元素7所在位置序號,若不在則提示程序錯誤
in
print(5 in numbers) 確認一個元素
在不在數組中,True False
count
print(numbers.count(5)) #元素5出現的次數
sort
numbers.sort() #從小到大排序
print(numbers)
reverse 翻轉數組
numbers.reverse() #reverse 翻轉
print(numbers)
copy
numbers2 = numbers.copy() #複製一個獨立的列表,真複製,兩個地址不同
開始做練習:
numbers = [2,4,7,4,6,5,2]
numbers2 = numbers.copy()
for count in range(len(numbers)-1): #從0到5遍歷
for count2 in range(len(numbers)-1): #從0到5遍歷
if numbers[count] == numbers[count2 + 1]: #如果0號小於1號,那麼
if count < count2: #保證和後面的比,不要自己和自己比
print(numbers[count])
numbers2.remove(numbers[count]) #從原列表移除沒有成功,原因不知道~
print(numbers2)
竟然成功啦~輸出如下:
2
[4, 7, 4, 6, 5, 2]
4
[7, 4, 6, 5, 2]
視頻主的要更簡單一些,驚豔:
numbers = [2,4,7,4,6,5,2]
uniques = []
for number in numbers:
if number not in uniques: #這裏用了not in
uniques.append(number)
print(uniques)
接下來,元組tuple
和列表不同,是括號,功能也少很多,不能插入、移除等
numbers = (1, 2, 3)
numbers = (1, 2, 3)
numbers[0] = 10
print(numbers[0])
上面這個會報錯,如下:
numbers[0] = 10
TypeError: 'tuple' object does not support item assignment
unpacking
numbers = (1, 2, 3)
#x = numbers[0]
#y = numbers[1]
#z = numbers[2] #這樣比較麻煩
x,y,z = numbers #這樣簡單
print(x)
用於列表也可以
numbers = [1, 2, 3]
x,y,z = numbers #這樣簡單
print(x)
視頻位置 138:30
加油!