【发布时间】:2020-07-21 05:21:14
【问题描述】:
所以我只想执行 while 循环语句,而不在其中放入任何内容。例如,我有一个数组arr,我必须从中删除某个元素的多次出现。当条件语句返回错误时,while 循环应该结束。
arr=[1,2,4,2,4,2,2]
这只会删除一个 2:
arr.remove(2)
只要它不返回错误,我就需要运行它。 (C++ 在 while 之后有一个分号来执行此操作)。 我想要这样的东西
while(arr.remove(2));
【问题讨论】:
-
您是否有任何理由不选择为此使用列表理解?使用列表推导而不是这样会更惯用。
-
请发布您到目前为止所尝试的内容,以及您遇到的问题。
-
remove方法总是返回None,但您可以使用while True循环并捕获ValueError来构建一些东西。正如@SilverNitrateIon 已经说过的那样,“Python 方式”是建立一个新列表。 -
在 Python 中,您使用
pass创建空循环、函数、类,即。while True: pass -
我使用列表理解解决了这个问题,但想知道是否有办法做到这一点。