这个管道运算符在Python 3.x中意味着什么?

时间:2017-09-06 15:03:27

标签: python python-3.x lambda pipe

我正在阅读下面的python代码。但我无法理解lambda x, y: x | y的意思。 (set(list(chain.from_iterable(s)) + q + a) for s, q, a in data))看起来很复杂,但它只是一个像['to', 'the', 'who']这样的词汇表。

# ex) data[0]
#     ([[s1], [s2]], [q], [a]])
#     ([['mary', 'moved', 'to', 'the', 'bathroom'], ['john', 'went', 'to', 'the', 'hallway']], ['where', 'is', 'mary'], ['bathroom'])
vocab = sorted(reduce(lambda x, y: x | y, (set(list(chain.from_iterable(s)) + q + a) for s, q, a in data)))

https://github.com/domluna/memn2n/blob/master/single.py#L36

可以肯定的是,我打印了xy。但我不知道这些是什么。 xx|y的含义是什么?

reduce(lambda x, y: print(x, type(x), "---", y, type(y)), (set(list(chain.from_iterable(s)) + q + a) for s, q, a in data))
# None <class 'NoneType'> --- {'where', 'kitchen', 'bathroom', 'the', 'sandra', 'travelled', 'daniel', 'bedroom', 'back', 'went', 'journeyed', 'office', 'moved', 'hallway', 'garden', 'is', 'john', 'to'} <class 'set'>

0 个答案:

没有答案