我想知道如何转移号码。
例如:[1,0,2,3,4]
删除一个并将一个转移到两个位置
结果:[0,0,1,3,4]
答案 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,那么请描述您的逻辑并编辑您的问题。