理解python语法减少lambda

时间:2018-04-20 08:26:31

标签: python

我有一个熊猫系列'结构'。它包含一系列字符列。

$("#"+ $(this).attr("id")).remove();

下面这一行基本上是试图找到所有行中存在的所有字符的并集

structures[0] = ['C', 'H', '[', '#']`

但是,我无法理解语法。什么是|为什么将set()作为参数传递给reduce?

1 个答案:

答案 0 :(得分:0)

set(y) | xset(y)x的结合。

最后的set()reduce()的初始值,x的第一个值将被使用,以便函数可以继续运行。 structures中的第一个值将是y的第一个值。

如果你省略了初始值,例如:

charset = list(reduce(lambda x, y: set(y) | set(x), structures))

然后如果structures为空,则会引发:

TypeError: reduce() of empty sequence with no initial value

如果structures的长度为1,那么reduce将只返回一个元素,而不是转换为一个元素。

通常|是按位OR运算符,但是为了它们自己的含义设置覆盖多个运算符。为了将来参考,该角色被称为管道,因此例如搜索" python set pipe"得出一些答案。