Python中交換兩個元素的方法

2021-08-13 22:57:56 字數 870 閱讀 8520

python既具有普通程式開發語言的特點,也具有matlab語言用於數值計算的特點,,當然了數值計算是由其其強大的第三方庫numpy實現的,矩陣在python中資料型別是ndarray,python中交換兩個數值的**和交換同一矩陣(ndarray)中不同向量的寫法是不一樣的。

以下是用python原生的資料結構list實現的交換

>> a = [1,2,3]

>> b = [4,5,6]

>> a

[1,2,3]

>> b

[4,5,6]

>> a,b = b,a

>> a

[4,5,6]

>> b

>[1,2,3]

以下是numpy中交換矩陣中兩列元素的方法

>> import numpy as np

>> a = np.array([[1,2,3],[4,5,6]])

>> a

array([[1, 2, 3],

[4, 5, 6]])

>> a[:,0],a[:,-1] = a[:,-1],a[:,0]

>> a

array([[3, 2, 3],

[6, 5, 6]])

>> a[:,[0, -1]] = a[:,[-1, 0]]

>> a

array([[3, 2, 1],

[6, 5, 4]])

上面**是將同一矩陣的第一列和最後一列進行了交換,可見,用第一種的寫法是錯誤的,第二種正確。

注意: 交換再同一矩陣中的不同行才要這樣寫,如果是不同矩陣的話按第一種寫法就可以了

Python中交換兩個元素的實現方法

python既具有普通程式開發語言的特點,也具有matlab語言用於數值計算的特點,當然了數值計算是由其其強大的第三方庫numpy實現的,矩陣在python中資料型別是ndarray,python中交換兩個數值的 和交換同一矩陣 ndarray 中不同向量的寫法是不一樣的。以下是用python原生的...

交換陣列中兩個元素的位置

簡單的交換陣列中倆個元素的位置,交換後為.同樣交換倆個數字,比如這樣的 public static void swap int a,int b 然後再列印的話,實際上是交換不了的。因為此時的 a,b只是形參,我們知道形參的改變不會影響實參的變化,因此交換不了。那麼為什麼陣列可以交換呢,讓我們來看一下...

python 列表中兩個元素交換值遇到bug

list 10,99999,20,3,50 需求 將列表中最大值與最小值分別放至列表第一和最後一位 於是執行以下操作 list 0 list list.index max list list list.index max list list 0 列印結果print list 結果如下 將中間交換的 ...