你能让代码1)变得更简单吗
或者有更好的方法
我写了这两个非常简单的代码,只是为了把它们的区别形象化
从我的角度来看,代码1)看起来比代码2)更清晰,尤其是在循环中实现更多内容时,例如dict列表
1)带拉链
shopping_list =['bananas', 'car', 'rum', 'cat', 'meat', 'jelly']
for i, item in zip(range(len(shopping_list)-2, -1, -1), shopping_list):
print(i, item)
if item == 'cat':
shopping_list.pop(i)
print()
2)只是为了
shopping_list =['bananas', 'car', 'rum', 'cat', 'meat', 'jelly']
for i in range(len(shopping_list)-1, -1, -1):
print(i, shopping_list[i])
if shopping_list[i] == 'cat':
shopping_list.pop(i)
循环的结果是:
['bananas', 'rum', 'meat', 'jelly']
您不需要修改原始列表来删除不满足条件的单词,这似乎是在前两种方法中所做的
相反,可以使用filter根据条件
word != 'cat'
删除元素输出将是
您的解决方案并不好,因为不必要的复杂性,而且您在循环列表时修改了列表(这可能很棘手)
使用list comprehensions(如注释中所述):
或者
filter
方法:相关问题 更多 >
编程相关推荐