開始跟着視頻學python,第八天mark

視頻位置: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
加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章