Python If语句中的运算符

友谊

这是我的一个简单代码段:

>>> test = ['asas', 'asa12', 'sdsdsd12', 'vccvcvcv', 'rertrtt11']
>>> for i in test:
...     if '11' in i:
...         print i
...
rertrtt11

现在可以正常工作了,现在捕获包含11或12的元素,我这样做:

>>> test = ['asas', 'asa12', 'sdsdsd12', 'vccvcvcv', 'rertrtt11']
>>> for i in test:
...     if '11' or '12' in i:
...         print i
...
asas
asa12
sdsdsd12
vccvcvcv
rertrtt11

那是出乎意料的,我希望只捕获其中包含11或12的元素,但是输出包含所有元素。

在尝试进行故障排除时,我尝试通过and运算符来尝试了解行为:

>>> test = ['asas', 'asa12', 'sdsdsd12', 'vccvcvcv', 'rertrtt11']
>>> for i in test:
...     if '11' and '12' in i:
...         print i
...
asa12
sdsdsd12

现在我完全感到困惑,因为我期望一个空集,因为其中没有11和12的元素。我对python中的运算符功能的理解完全错误吗?

四人

'11' or '12' in i 像这样评估

('11') or ('12' in i)

因此,第一部分始终是真实的。这就是为什么将它们全部打印出来的原因。在第二种情况下

('11') and ('12' in i)

在这里,第一部分始终是Truthy,因此它仅打印包含的项目12你可能想做

if '11' in i and '12' in i:

或者

if all(item in i for item in ('11', '12')):

要具有或条件,您可以使用any功能,例如

if any(item in i for item in ('11', '12')):

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:print()语句中的%运算符

来自分类Dev

Python:print()语句中的%运算符

来自分类Dev

Python If语句中的运算符

来自分类Dev

在python条件语句中使用模运算符

来自分类Dev

C与Python-条件语句中的运算符优先级

来自分类Dev

Python - 在 If 语句中使用字符串作为条件运算符

来自分类Dev

+ !! if语句中的运算符

来自分类Dev

python中没有逻辑运算符的if语句

来自分类Dev

Revit语句中的运算符错误

来自分类Dev

C中的IF语句中的运算符++

来自分类Dev

“ IN”语句中的“ CASE WHEN”运算符

来自分类Dev

if语句中的按位运算符

来自分类Dev

TSQL NOT运算符在where语句中

来自分类Dev

(+)=“ +等于”运算符在SQL语句中

来自分类Dev

C中的IF语句中的运算符++

来自分类Dev

if语句中的赋值运算符

来自分类Dev

python或on运算符模块

来自分类Dev

Python运算符重载

来自分类Dev

什么是Python <>运算符

来自分类Dev

Python运算符| =含义

来自分类Dev

python IN运算符的语法

来自分类Dev

python中的运算符

来自分类Dev

Python In 运算符 - 短路

来自分类Dev

Python OR 运算符问题

来自分类Dev

可以在switch语句中使用then运算符

来自分类Dev

(+)= SQL语句中的“加等于”运算符

来自分类Dev

如何在nginx的“ if”语句中使用“或”运算符?

来自分类Dev

选择语句中的三元运算符

来自分类Dev

在PHP'switch'语句中使用比较运算符