Python中交换两个元素的实现方法

yipeiwu_com5年前Python基础

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设计】。

相关文章

pygame实现贪吃蛇游戏(上)

pygame实现贪吃蛇游戏(上)

本文实例为大家分享了pygame贪吃蛇游戏的具体代码,供大家参考,具体内容如下 1.准备工作 我们已经初始化了一个400*400的界面,为方便看我们的游戏,我们先在界面上画40*40的格...

softmax及python实现过程解析

softmax及python实现过程解析

相对于自适应神经网络、感知器,softmax巧妙低使用简单的方法来实现多分类问题。 功能上,完成从N维向量到M维向量的映射 输出的结果范围是[0, 1],对于一个sample的...

Python在Windows和在Linux下调用动态链接库的教程

Python在Windows和在Linux下调用动态链接库的教程

Linux系统下调用动态库(.so) 1、linuxany.c代码如下: #include "stdio.h" void display(char* msg){ p...

对python requests的content和text方法的区别详解

问题: 一直在想requests的content和text属性的区别,从print 结果来看是没有任何区别的 看下源码: @property def text(self):...

简单介绍Python中的try和finally和with方法

用 Python 做一件很平常的事情: 打开文件, 逐行读入, 最后关掉文件; 进一步的需求是, 这也许是程序中一个可选的功能, 如果有任何问题, 比如文件无法打开, 或是读取出错, 那...