2 回答

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
但是由于某種我不能稱之為原因的原因,它沒(méi)有輸入我輸入的第一個(gè) if 語(yǔ)句:
您需要==用于比較值。is用于在 Python 中比較身份。有關(guān)Python中的vs的信息,請(qǐng)參閱此內(nèi)容。==is
嘗試這個(gè):
def move_zeros(a):
r = [i for i in a if not isinstance(i, (float, int)) or str(i) not in ('0.0', '0')]
r += [0] * (len(a) - len(r))
return r
print(move_zeros([9,0.0,0,9,1,2,0,1,0,1,0.0,3,0,1,9,0,0,0,0,9]))
輸出:
[9, 9, 1, 2, 1, 1, 3, 1, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試這個(gè)
def move_zeros(a):
res = []
x = 0
for num in a:
if str(num) == '0.0' or str(num) == '0':
x += 1
else:
res.append(num)
return res + [0] * x
print(move_zeros([9,0.0,0,9,1,2,0,1,0,1,0.0,3,0,1,9,0,0,0,0,9]))
輸出:
[9, 9, 1, 2, 1, 1, 3, 1, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
添加回答
舉報(bào)