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