为什么这两个表达式中的运算符“&”不起作用?
# First, type bool
bool(re.search(r'\d', "4foo"))
>True
# Second, type bool
len("4foo")==4
>True
type(len("4foo")==4)))
>bool
像这样将两者与运算符“&”一起使用时,我得到
False
这是不正确的:
# Expected output as this example:
True&True
>True
# The "wrong" output:
bool(re.search(r'\d', "4foo"))& (len("4foo")==4)
>False
在疯狂了一个小时后,我“解决”了这个问题,用的是我从来没想到会是“问题”:
# The "correct" output(transforming a bool type into a bool type something that works but seems stupid...):
bool(re.search(r'\d', "4foo"))&bool(len("4foo")==4)
>True
bool(re.search(r'\d', "4foo")) and len("4foo")==4