在 Python 中工作,如何编写代码以使用 for 循环和 if 语句从未知整数列表中删除负数?
def mod_lis (list):
for i in range(len(list)):
if list[i] < 0:
del list[i]
return list
最佳答案
您的代码的问题是您在 for 循环期间修改了列表。结果是,您以这种方式跳过元素,并很快得到一个 IndexError,因为您的列表已被缩短。
您可以使用此列表理解来做到这一点:
mylist = [val for val in mylist if val>=0]
关于python - 从Python中的未知列表中删除负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22856334/