gpt4 book ai didi

python - 如何在 python 中用百替换列表中的所有零?

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:01 25 4
gpt4 key购买 nike

listzero = [0,0,0,0,0]

for q in listzero:
if (q==0):

print("zero is present ")
listzero.remove(0)
listzero.append(100)


else:
print("non zero list")

print(listzero)

输出:

zero is present 
zero is present
zero is present
non zero list
non zero list
[0, 0, 100, 100, 100]

我的预期输出是

zero is present 
zero is present
zero is present
zero is present
zero is present
[100, 100, 100, 100, 100]

最佳答案

listzero.remove(0)

移除第一个0元素,但是

listzero.append(100)

添加 100在列表的末尾(加上你不应该在迭代时更改列表的事实,除了项目分配,因为它会混淆循环内部索引)

其他答案展示了如何在循环中更改值,但是您也可以改用列表理解。它不会替换列表,而是创建另一个列表,这里使用惯用表达式(因为我们测试了 0 值)设置为 100什么时候0出现(感谢 or 运算符):

listzero = [0,0,100,200,300]
listzero = [x or 100 for x in listzero]

(我设置了不同的值来演示代码,并将其分配回原始列表名称以“覆盖”它)

结果:

[100, 100, 100, 200, 300]

关于python - 如何在 python 中用百替换列表中的所有零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47210790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com