要列印第二行,我喜歡這樣
print(coeff_matrix[2])
令我驚訝
print(coeff_matrix[:][2])
的是也列印了第二行,而不是我期望的第二列。為什么會這樣,列印第二列的正確方法是什么。
uj5u.com熱心網友回復:
將 coefficient_matrix 轉換為 numpy 陣列并使用切片:
import numpy as np
a = np.array([[1,2,3], [4, 5, 6], [7,8, 9]])
a[:,1]
輸出:
array([2, 5, 8])
如果 numpy 不可用,您可以使用zip:
a = [[1,2,3], [4, 5, 6], [7,8, 9]]
list(zip(*a))[1]
輸出:
(2, 5, 8)
或串列理解(如果這算作沒有回圈?):
[i[1] for i in a]
輸出:
[2, 5, 8]
如果還想設定值,可以使用zip兩次:
a = [[1,2,3], [4, 5, 6], [7,8, 9]]
a = list(zip(*a))
a[1] = (69, 69, 69)
list(zip(*a))
輸出:
[(1, 69, 3), (4, 69, 6), (7, 69, 9)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/465641.html
標籤:python-3.x
下一篇:使用點格式時預期陳述句結束
