Python中“in”的形式化解释';s`for`loops

Python中“in”的形式化解释';s`for`loops,python,for-loop,Python,For Loop,我知道,中的操作符可以在Python中用作以下内容的简写(一般来说,不考虑任何隐藏的相等问题或任何内容): 然而,我想知道在中对于列表1中的项的实际行中的的技术含义-显然在中还有另一个含义,因为Python不会生成项的每一个可能值,并查看是否列表1中的项。另一方面,Pythonfor循环是否在中没有的情况下进行过?在中调用\uu包含方法(在本例中为列表) 对于列表和元组这是线性搜索 对于dict和set它使用散列 在for循环中使用时,in仅表示从iterable中取出下一项,直到它用完为止 你

我知道,中的
操作符可以在Python中用作以下内容的简写(一般来说,不考虑任何隐藏的相等问题或任何内容):


然而,我想知道
中对于列表1中的项的实际
行中的
的技术含义-显然
中还有另一个含义,因为Python不会生成
项的每一个可能值,并查看是否
列表1中的项。另一方面,Python
for
循环是否在
中没有
的情况下进行过?

中调用
\uu包含
方法(在本例中为
列表

对于
列表
元组
这是线性搜索

对于
dict
set
它使用散列

在for循环中使用时,
in
仅表示从iterable中取出下一项,直到它用完为止

你可以想象是这样的

it = iter(list1)
while True:
    try:
        item = next(it)
    except StopIteration:
        break
    if item == thingToCheck:
        return True
return False 

中的
调用
\uuuuuuuuuuuuuuuuuuuuu
方法(在本例中为
列表的

对于
列表
元组
这是线性搜索

对于
dict
set
它使用散列

在for循环中使用时,
in
仅表示从iterable中取出下一项,直到它用完为止

你可以想象是这样的

it = iter(list1)
while True:
    try:
        item = next(it)
    except StopIteration:
        break
    if item == thingToCheck:
        return True
return False 

不,在
中找不到没有
for
循环,因为它在语法上是必需的,请参阅。正如Greg指出的,使用相同的关键字并不意味着内部处理是相似的,更不用说相同了。关于编程语言的讨论也是如此,其中
=
有赋值和比较运算符两个角色。编程语言是为可读性而设计的,可以从实际发生的事情中进行抽象,抽象程度会随着语言级别的提高而增加。

不,如果在
中没有
,您将找不到
for
循环,因为它在语法上是必要的,请参阅。正如Greg指出的,使用相同的关键字并不意味着内部处理是相似的,更不用说相同了。关于编程语言的讨论也是如此,其中
=
有赋值和比较运算符两个角色。编程语言是为可读性和从实际发生的事情中抽象而设计的,抽象程度随着语言水平的提高而增加。

Related:Related:很好的解释。我仍然很想知道
for
循环中没有
的情况。那么,我可以假设Python会在
关键字中“覆盖”
,以适应这些不同的用途吗?@Tangmeister:我相信如果不在
中使用
,你不会找到一个
for
循环。请注意,当在
for
循环行中使用时,
中的
与在表达式中使用时的含义并不相同。是的,某些关键字根据其上下文具有不同的含义。这在一定程度上是为了避免有太多的关键词。我仍然很想知道
for
循环中没有
的情况。那么,我可以假设Python会在
关键字中“覆盖”
,以适应这些不同的用途吗?@Tangmeister:我相信如果不在
中使用
,你不会找到一个
for
循环。请注意,当在
for
循环行中使用时,
中的
与在表达式中使用时的含义并不相同。是的,某些关键字根据其上下文具有不同的含义。这部分是为了避免有太多的关键字