假设我有6个值
elem=[a,b,c,d,e,f]
f总是!= 0但其他一个总是= 0(一次一个)。
我想知道如何检查elem []中的哪一个等于零,并在newelem中用f替换该值。
实施例
elem=[1,2,3,0,5,6] --> newelem=[1,2,3,6,5]
现在,我有这样的事情:
if elem[0]=0:
newelem=[elem[6],elem[1],elem[2],elem[3],elem[4]]
elif elem[1]=0:
newelem=[elem[0],elem[6],elem[2],elem[3],elem[4]]
等...
答案 0 :(得分:1)
#a.index(0) Gets you the index of element with value 0
#a.pop() removes and returns the last element of the array
a[a.index(0)] = a.pop()
答案 1 :(得分:1)
>>> list(map(lambda x: x if x!=0 else elem[-1], elem))[:-1]
[1, 2, 3, 6, 5]
或list comprehension
:
[i if i!=0 else elem[-1] for i in elem][:-1]
答案 2 :(得分:0)
您可以使用pop()
,只需找到要删除的元素
>>> elem=[1,2,3,0,5,6]
>>> elem.pop(3)
0
>>> elem
[1, 2, 3, 5, 6]
结束然后将新元素推送到这个地方
elem.insert( 3, 6)
之后再次弹出elemem,移动到你有“0”的地方