Python 的 "in" 运算符与集合 {}
Python's "in" operator with set {}
我正在尝试了解 in
运算符在 Python 中的用法。
以下情况有区别吗?
案例 1:
a = "Hello"
b = "Help"
b[0] in {a[0], '.'} #case1_variant
>> True
案例 2:
a = "Hello"
b = "Help"
b[0] in a[0] #case2_variant
>> True
虽然输出相同,但我想了解 case1_variant
代表什么。
第一个是集合对象,里面有a
的第一个字母,加上句点。它是 in
可以操作的序列类型。
第二个是一个包含单个字符的字符串。它也是一种序列类型, in
运算符也可以对其进行操作。第二个没有句点。
in 关键字有两个用途:
- in 关键字用于检查值是否存在于序列(列表、范围、字符串等)中。
- in 关键字也用于在 for 循环中遍历序列:
从您示例中的 in
关键字的角度来看,这两种情况之间没有区别。它们都适用于首次使用 in
关键字。 in
关键字检查变量是否存在于数据集或数据列表中。您提供了两种不同的有效数据类型,并检查了 "H" 是否在其中任何一个中,并确保 "H" 在您检查的每个变量中。
周期应该对数据没有影响。只不过是数据中的一项与 in
正在查找的条件不匹配。
从字面上看,第一个相当于检查"H" in "H."
;在您的例子中,您正在迭代 set
的两个字符。这在字符匹配的第一次迭代中停止。因此 .
可以是任何东西,True
/False
,一个数字,None
,等等。
而第二个只是检查 "H" in "H"
,这显然是正确的
我正在尝试了解 in
运算符在 Python 中的用法。
以下情况有区别吗?
案例 1:
a = "Hello"
b = "Help"
b[0] in {a[0], '.'} #case1_variant
>> True
案例 2:
a = "Hello"
b = "Help"
b[0] in a[0] #case2_variant
>> True
虽然输出相同,但我想了解 case1_variant
代表什么。
第一个是集合对象,里面有a
的第一个字母,加上句点。它是 in
可以操作的序列类型。
第二个是一个包含单个字符的字符串。它也是一种序列类型, in
运算符也可以对其进行操作。第二个没有句点。
in 关键字有两个用途:
- in 关键字用于检查值是否存在于序列(列表、范围、字符串等)中。
- in 关键字也用于在 for 循环中遍历序列:
从您示例中的 in
关键字的角度来看,这两种情况之间没有区别。它们都适用于首次使用 in
关键字。 in
关键字检查变量是否存在于数据集或数据列表中。您提供了两种不同的有效数据类型,并检查了 "H" 是否在其中任何一个中,并确保 "H" 在您检查的每个变量中。
周期应该对数据没有影响。只不过是数据中的一项与 in
正在查找的条件不匹配。
从字面上看,第一个相当于检查"H" in "H."
;在您的例子中,您正在迭代 set
的两个字符。这在字符匹配的第一次迭代中停止。因此 .
可以是任何东西,True
/False
,一个数字,None
,等等。
而第二个只是检查 "H" in "H"
,这显然是正确的