use*_*687 -1 python for-loop keyword
我只是想知道如何在不使用Python中的"in"关键字的情况下使用For循环?
由于"in"关键字测试以查看值是否在列表中,如果值在列表中则返回True,如果值不在列表中则返回False,For循环使用In关键字也是令人困惑的当它也可以使用像"of"这样的词时.
但是,我尝试使用这样的代码:
for i of range(5):
print i
Run Code Online (Sandbox Code Playgroud)
它返回语法错误.所以我想知道是否有任何方法可以使用For循环而不使用In关键字,因为它令人困惑.
不,没有,它是语言的一部分,无法更改(不修改基础语言实现).
我认为它根本不会混淆,因为语法读起来像英语,并且作为LL(1)语法解析得很好.它还减少了关键字的数量(这很好,因为它为变量命名释放了更多的单词).
许多语言在不同的上下文中重用关键字,Python使用它as来:
import bar as b
with foo() as f:
...
Run Code Online (Sandbox Code Playgroud)
3.3 from也是如此:
from foo import bar
def baz(iter):
yield from iter
Run Code Online (Sandbox Code Playgroud)
即使Java这样做,extends通常用于为类提供基类,但它也用于指定泛型类型的上限.
class Foo extends Bar {
void baz(List<? extends Bar> barList) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,即使这是可能的,这也是一个坏主意,因为它会降低其他习惯使用该语言的Python程序员的可读性.
编辑:
由于其他答案已经替代了for循环使用while,我将添加做坏事的最佳方法:
iterable = iter(some_data)
while True:
try:
value = next(iterable)
except StopIteration:
break
do_something(value)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |