元素方面,python中列表的可变组合

时间:2017-07-24 21:08:22

标签: python list elementwise-operations

前言:Element-wise addition of 2 lists?

我想写代码以产生以下行为:

[ 1, 1, ["Alpha"]]
+
[ 2, 2, ["Beta"] ]
||       ||     ||
\/       \/     \/
[3, 3, ["Alpha", "Beta"]]
在python中

。如果没有非常混乱的理解和映射,这可能吗?

3 个答案:

答案 0 :(得分:7)

[a + b for a, b in zip(l1, l2)]

答案 1 :(得分:3)

是的,虽然我在调用列表理解凌乱之前会三思而后行,但这是可能的。将operator.__add__map一起传递给两个列表:

import operator
list(map(operator.__add__, l1, l2))
# [3, 3, ['Alpha', 'Beta']]

答案 2 :(得分:2)

这个解决方案使用列表推导,尽管它们非常混乱。此外,它非常易读,并且不需要库

sp <- split(df, df$X1)
inx <- unlist(lapply(sp, function(x) !duplicated(x$total.count == 1) & all(x$total.count == 1)))
df[inx, ]
       X1 Category total.count
1  100279       A1           1
7  100281       A1           1
10 100283       A2           1