arr = [1, True, 'a', 2]
print('a' in arr in arr) # False你能解释一下为什么这段代码会输出“假”吗?问题已结束。来自@KlausD 的回答:实际上它是一个比较运算符链接,将被解释为('a' in arr) and (arr in arr).
3 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
print('a' in arr in arr) // False
被解释为print('a' in arr in arr) // 0
抛出ZeroDivisionError: integer Division or modulo by zero error。如果您打算注释掉False
,请使用"#"
,而不是"//"
(例如print('a' in arr in arr) # False
)
使用@Klaus D 的有用评论-
print('a' in arr in arr)
被评估为print(('a' in arr) and (arr in arr))
由于操作符链接。这又被处理成print(True and False)
->print(False)
要检查是否'a'
在arr
,只需检查print('a' in arr)
# 打印True
慕莱坞森
TA贡献1810条经验 获得超4个赞
我相信这就是你想要做的:
arr = [1, True, 'a', 2]
print( 'a' in arr)
输出:
True
或这个:
arr = [1, True, 'a', 2]
print(bool(['a' in arr]) in arr)
输出:
True
添加回答
举报
0/150
提交
取消