python中的多个'In'运算符

arr = [1, True, 'a', 2]
print('a' in arr in arr) # False

你能解释一下为什么这段代码会输出“假”吗?

问题已结束。

来自@KlausD 的回答:实际上它是一个比较运算符链接,将被解释为('a' in arr) and (arr in arr).


桃花长相依
浏览 228回答 3
3回答

红糖糍粑

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

慕莱坞森

我相信这就是你想要做的:arr = [1, True, 'a', 2]print( 'a' in arr)输出:True或这个:arr = [1, True, 'a', 2]print(bool(['a' in arr]) in arr)输出:True

子衿沉夜

这是False因为'a'是in 'arr'但'arr'不是in 'arr'。意义'arr'本身不能存在。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python