【Python】类型转换和数值交换

int——str:

str——int:

list——int:

int——list:


A[j,:] = A[maxindex,:]    # 注意这样是一个很低级的错误!这样只是赋值

我们很容易想起python中的两个值交换一句搞定不用引入中间变量

a, b = b, a

但在numpy的array或matrix中,这样是错误的

需要使用选中两行来互换:

A[[i, j], :] = A[[j, i], :] # 实现了第i行与第j行的互换
# python-list实现的交换
a = [1,2,3]
b = [4,5,6]
a,b = b,a
print(a) # [4, 5, 6]
print(b) # [1, 2, 3]

# numpy中交换矩阵中两列元素的方法
# 交换同一矩阵中的不同行用方法2,如果是不同矩阵用方法1
import numpy as np
A = np.array([[1,2,3],[4,5,6]])
print(A)
# [[1 2 3]
#  [4 5 6]]

# 目标:将同一矩阵的第一列和最后一列进行交换
# 方法1
A[:,0],A[:,-1] = A[:,-1],A[:,0]
print(A)
# [[3 2 3]
#  [6 5 6]] # failed

# 目标:将同一矩阵的第一列和最后一列进行交换
# 方法2
A[:,[0,-1]] = A[:,[-1, 0]]
print(A)
# [[3 2 1]
#  [6 5 4]]

# 目标:将同一矩阵的第一行和最后一行进行交换
A[[0,1],:] = A[[1,0],:]
print(A)
# [[6 5 4]
#  [3 2 1]]

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值