如何将数组中的数字从一个位置传输到另一个位置

时间:2018-04-01 03:49:26

标签: python arrays python-3.x list

我想知道如何转移号码。

例如:[1,0,2,3,4]

删除一个并将一个转移到两个位置

结果:[0,0,1,3,4]

2 个答案:

答案 0 :(得分:0)

如果您的操作完全基于索引,则可以执行以下操作:

lst = [1,0,2,3,4]
lst[2] = lst[0]
lst[0] = 0

# [0, 0, 1, 3, 4]

或者,如果您需要计算索引2:

lst[lst.index(2)] = lst[0]
lst[0] = 0

答案 1 :(得分:0)

由于您没有用清晰的说明来描述您的问题,有时会有多个2或1的向量然后您想要做什么?

我的解决方案仅适用于在向量中存在单个1和2的情况,因为当您使用.index方法时,无论是否还有其他值,它总是返回第一个值索引。

因为在你的数据集中,所有向量中总有1次1和2,所以这里是解决方案

data=[[1, 2, 3, 4, 0], [1, 3, 2, 4, 0], [2, 1, 3, 4, 0] ]

def replace_ (vector_ , replace_value, replace_with):

    memory=vector_.index(replace_with)

    vector_[vector_.index(replace_value)]=vector_[vector_.index(replace_with)]

    vector_[memory]=0


    return vector_


for i in data:
    print(replace_(i,1,2))

如果在[1,0,1,1,2,2]这样的向量中有多个1或2,那么请描述您的逻辑并编辑您的问题。