Ale*_*all 6 python loops for-loop
我想创建一个for循环,它将通过整数0到k-1,除了整数i.(我正在比较k个项目的一些列表,我不需要将一个列表中的项目i与另一个列表中的项目i进行比较.)
我有一个相当简单的方法,但我一直认为这是一个更"Pythonic",优雅的方式来做到这一点.
我在做的是:
tocheck = range(k)
del(tocheck[i])
for j in tocheck:
Run Code Online (Sandbox Code Playgroud)
这很容易,但我喜欢Python的一件事就是它似乎总是有一个聪明的单行"Pythonic"技巧来做这样的事情.
谢谢.
Fat*_*ror 11
也许用 itertools.chain
from itertools import chain
for j in chain(range(i), range(i+1, k)):
# ...
Run Code Online (Sandbox Code Playgroud)
这个怎么样:
for l in (j for j in range(k) if j != i):
....
Run Code Online (Sandbox Code Playgroud)
这使用了一个生成器表达式,它可能被认为是“pythonic”,尽管表达式本身有点令人困惑,可能被认为不优雅。