Python 在多个列表中

Python 在多个列表中,python,syntax,operator-precedence,Python,Syntax,Operator Precedence,我最近对此感到困惑 如果2英寸([1,2]或[3,4]):打印(真) 其他:打印(错误) #打印正确 或是布尔运算符,如何将其应用于列表 如果[1,2]或[3,4]中的2,为什么它的工作原理与相同 使用any() 或操作于任何类型,而不仅仅是布尔型。它返回最左边的实数操作数,如果没有实数操作数,则返回False。所以([1,2]或[3,4])相当于[1,2],因为任何非空列表都是真实的 一般来说,运算符不会像在英语中那样在编程语言中自动分布a或b中的x与a中的x或b中的x不相同。编程语言递归地

我最近对此感到困惑

如果2英寸([1,2]或[3,4]):打印(真)
其他:打印(错误)
#打印正确
  • 是布尔运算符,如何将其应用于列表
  • 如果[1,2]或[3,4]中的2,为什么它的工作原理与
    相同
  • 使用
    any()
  • 操作于任何类型,而不仅仅是布尔型。它返回最左边的实数操作数,如果没有实数操作数,则返回
    False
    。所以
    ([1,2]或[3,4])
    相当于
    [1,2]
    ,因为任何非空列表都是真实的
  • 一般来说,运算符不会像在英语中那样在编程语言中自动分布<代码>a或b中的x
    与a中的x或b中的x不相同。编程语言递归地计算表达式,因此(a或b)中的
    x大致相当于:

    temp = a or b
    x in temp
    
    • 两种说法都不同
    • 在第一种情况下,python将首先在[1,4]中运行
      2
      its
      False
      ,因此现在它将检查
      bool([1,3])
      及其
      True
      以打印1
    • 但对于第二种情况,首先执行
      ([1,4]或[1,3])
      ,然后返回第一个非空列表。因此它将返回
      [1,4]
      ,但2不在列表中,因此不会打印任何内容
    • 这都是关于执行命令的
    • 再看两个例子。特别是最后一个例子
      ([1,4]或[2,4])
      将返回
      [1,4]
      ,2不在
      [1,4]
      中。现在它不会签入第二个列表
      [2,4]
      。如果这是你想要的,这不是正确的方法。使用
      any
    >>如果[1,4]或[1,3]中的2为真:
    ...     印刷品(1)
    ...
    1.
    >>>如果2英寸([1,4]或[1,3]):#错误
    ...     印刷品(1)
    ...
    >>>如果[1,4]或[]中的2为假:
    ...     印刷品(1)
    ...
    >>>如果2英寸([1,4]或[2,4]):#错误!!
    ...     印刷品(1)
    ...
    
    该条件应实际读取
    (2 in sub代表[1,2],[3,4]]):
    回答您的另一个问题:非空列表被视为“真实”,因此
    [1,2]或[3,4]
    计算结果为
    真实
    @reliance updated
    temp = a or b
    x in temp