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)
输出:
^{pr2}$我的预期产出是
zero is present
zero is present
zero is present
zero is present
zero is present
[100, 100, 100, 100, 100]
如果您不想创建另一个列表,这将就地编辑当前列表。在
使用
^{pr2}$enumerate
的更具Python风格的变体:你可以试试这个:
输出:
^{pr2}$删除第一个0元素,但是
^{pr2}$在列表末尾添加
100
(加上迭代时不应更改列表,除了项赋值,因为这会混淆循环内部索引)其他答案显示了如何在循环中更改值,但是 你也可以使用列表理解来代替。它不替换列表,而是创建另一个列表,这里有一个惯用表达式(因为我们测试了
0
值),以便在0
出现时设置为100
(多亏了or
运算符):(我设置了不同的值来演示代码,并将其分配回原始列表名以“覆盖”它)
结果:
相关问题 更多 >
编程相关推荐