Python既具有普通程序开发语言的特点,也具有Matlab语言用于数值计算的特点,,当然了数值计算是由其其强大的第三方库numpy实现的,矩阵在python中数据类型是ndarray,python中交换两个数值的代码和交换同一矩阵(ndarray)中不同向量的写法是不一样的。
以下是用Python原生的数据结构list实现的交换
1
2
3
4
5
6
7
8
9
10
11
|
>> 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中交换矩阵中两列元素的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>> 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中交换两个元素的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/github_34777264/article/details/78879481