【问题标题】:How to create new array from existing or reverse order of lists Python如何从列表的现有或反向顺序创建新数组 Python
【发布时间】:2019-10-06 08:52:42
【问题描述】:

我在一个数组中有 2 个列表。我想切换列表顺序。列表 2 成为列表 1,列表 1 成为列表 2。我会在如何有效切换这些方面提供一些帮助。谢谢

我在 python 中有以下代码。

RestoredData_Array = np.dot(featuresT.reshape(2,2), FinalData1_Matrix.reshape(2,20))
RestoredData_Array

实际结果:

array([[  2.3065    ,   9.21202097,   2.03334271,   8.12104732,
          1.02492108,   4.09347257,  -0.54700703,  -2.18471288,
          0.15896622,   0.63490144,  -0.51904295,  -2.07302602,
         -2.11190708,  -8.43482867,  -3.33826623, -13.33283264,
         -3.24268925, -12.95110399,  -3.39616989, -13.56409637],

       [ -9.93383348, -39.6751278 , -11.51169937, -45.9770284 ,
        -13.27291919, -53.01123343, -12.73236969, -50.85231155,
        -13.35424863, -53.33605825, -14.86736232, -59.37934246,
        -17.41605181, -69.55865355, -17.84717309, -71.28052577,
        -19.07951685, -76.20243193, -20.72810021, -82.78677378]])

期望的结果:

array([[ -9.93383348, -39.6751278 , -11.51169937, -45.9770284 ,
        -13.27291919, -53.01123343, -12.73236969, -50.85231155,
        -13.35424863, -53.33605825, -14.86736232, -59.37934246,
        -17.41605181, -69.55865355, -17.84717309, -71.28052577,
        -19.07951685, -76.20243193, -20.72810021, -82.78677378]

        [  2.3065    ,   9.21202097,   2.03334271,   8.12104732,
          1.02492108,   4.09347257,  -0.54700703,  -2.18471288,
          0.15896622,   0.63490144,  -0.51904295,  -2.07302602,
         -2.11190708,  -8.43482867,  -3.33826623, -13.33283264,
         -3.24268925, -12.95110399,  -3.39616989, -13.56409637]])

【问题讨论】:

  • RestoredData_Array[::-1]
  • 如果它解决了您的问题,您应该接受答案。否则,问题将保留在队列中以获取更多答案。另外,如果您发现有帮助的答案,您应该点赞。

标签: python arrays switch-statement


【解决方案1】:

看起来您只想将[a, b] 更改为[b, a],其中ab 是您的列表。

有很多方法。下面的代码是最短的,它适用于列表和 numpy 数组。

Reversed_Array = RestoredData_Array[::-1]

这是切片技巧。请参阅 here 以了解其工作原理。

【讨论】:

  • 谢谢。这行得通。感谢您的帮助!
  • @sunnyspain1 很高兴知道。请注意:如果您发现有帮助的答案,则应该对其进行投票,而不是发表评论。这样其他人就知道哪些答案是好的。
【解决方案2】:

交换两个数组的值:

a=[1]
b=[2]
a,b = b,a
print(a)
print(b)

交换嵌套数组的值:

c=[[1],[2]] # here c[0] have value [1] & c[1] have value [2] 
c[0],c[1] = c[1],c[0] # here we are interchanging the value of c[0] & c[1]
print(c)

这些示例可以帮助您转换数组

对于您的代码,这可能有效:

RestoredData_Array = np.dot(featuresT.reshape(2,2), FinalData1_Matrix.reshape(2,20))
RestoredData_Array[0],RestoredData_Array[1] = RestoredData_Array[1],RestoredData_Array[0]
print(RestoredData_Array)

【讨论】:

    猜你喜欢
    • 2020-05-10
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多