Python 使用“";按位或;操作人员

Python 使用“";按位或;操作人员,python,bitwise-operators,Python,Bitwise Operators,基本上我有一个列表,其中每个元素都是一个序列,列表任意长。我想知道如何在列表中进行迭代,以便创建一个变量matches=listerino[0]| listerino[1]|……|listerino[len(listerino)] 到目前为止,我最接近上述情况的是: matches = pd.Series() for t in range(0, len(listerino)-1, 2): x = listerino[t] | listerino[t+1] m

基本上我有一个列表,其中每个元素都是一个序列,列表任意长。我想知道如何在列表中进行迭代,以便创建一个变量
matches=listerino[0]| listerino[1]|……|listerino[len(listerino)]

到目前为止,我最接近上述情况的是:

matches = pd.Series()       
for t in range(0, len(listerino)-1, 2):
      x = listerino[t] | listerino[t+1]
      matches = matches | x
但是,正如您可能看到的,对于偶数长度的列表,这只会按照我希望的方式工作,因为对于奇数长度的列表,它遗漏了最后一个元素。另外,我不得不混乱地定义匹配,首先等于一个空序列,然后附加到x上,有更好的方法吗


谢谢

为什么不使用
|=
操作符

matches = None
for series in listerino:
    # base case:
    if matches is None:
        matches = series
    else:
        matches |= series

这相当于
matches=matches | series

为什么不使用
|=
操作符

matches = None
for series in listerino:
    # base case:
    if matches is None:
        matches = series
    else:
        matches |= series

这相当于
matches=matches | series

您尝试执行的此操作通常称为“减少”,可以通过以下方法完成:


方便地定义了函数,该函数接受两个输入并返回
x | y

您尝试执行的此操作通常称为“还原”,可通过以下操作完成:

可以方便地定义函数,该函数接受两个输入并返回
x | y