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

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

相关文章

python定时器使用示例分享

复制代码 代码如下:class SLTimer(multiprocessing.Process):    #from datetime import dat...

安装Python的web.py框架并从hello world开始编程

最近有一个小的web项目,想用喜爱都python,但是想到之前接触过都django我感觉一阵不寒而栗,为什么?Django的配置太过复杂,而且小项目不太适合MVC的开发模式,所以...

python分析作业提交情况

python分析作业提交情况

这次做一个比较贴近我实际的东西:python分析作业提交情况。 要求:     将服务器中交作业的学生(根据文件的名字进行提取)和统计成绩的表格中...

在Python中操作字符串之replace()方法的使用

 replace()方法返回当前old换成new,可选择的替代限制到最大数量的字符串的副本。 语法 以下是replace()方法的语法: str.replace(old,...

pandas中apply和transform方法的性能比较及区别介绍

pandas中apply和transform方法的性能比较及区别介绍

1. apply与transform 首先讲一下apply() 与transform()的相同点与不同点 相同点: 都能针对dataframe完成特征的计算,并且常常与groupby()...