为何 for 内 if 只执行一次?

2020-02-22 21:21:44 +08:00
 toliho
例如:names[王八,王九,李大,李二,赵四]
for a in names:
if a 姓王,names.remove(a)
if a 姓李, names.remove(a)
print(names)
结果不会留下[赵四],而是有[王九、李二、赵四],为什么会这样?
for 循环不会把 5 个字符串遍历 5 次吗?
3384 次点击
所在节点    问与答
23 条回复
toliho
2020-02-23 17:02:08 +08:00
@crella 我用了这个办法解决:
new_names =[]
for n in names:
if 姓王:
pass
elif 姓李:
pass
else:
new_names.append(n)
toliho
2020-02-23 17:05:41 +08:00
我还发现一个问题,在 for 循环里,如果用了 if if,只会执行第二个 if ;必须用 if elif elif ……或者 if elif else
ik
2020-02-23 19:21:27 +08:00
@toliho #20 试一下

![20200223191636.png]( https://i.loli.net/2020/02/23/fpmgUsIvdl1BbH9.png)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/646674

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX