python 中列表的元素明智、可变组合
Element wise, variable combination of lists in python
前言:Element-wise addition of 2 lists?
我想编写具有以下行为的代码:
[ 1, 1, ["Alpha"]]
+
[ 2, 2, ["Beta"] ]
|| || ||
\/ \/ \/
[3, 3, ["Alpha", "Beta"]]
在 python 中。如果没有非常混乱的理解和映射,这可能吗?
是的,这是可能的,尽管在调用列表理解之前我会三思而后行。将 operator.__add__
与两个列表一起传递给 map
:
import operator
list(map(operator.__add__, l1, l2))
# [3, 3, ['Alpha', 'Beta']]
此解决方案使用列表理解,尽管在我看来,它们远非凌乱。此外,它非常易读,不需要库
a = [1, 1, ["ALPHA"]]
b = [2, 2, ["BETA"]]
c = [a[i]+b[i] for i in range(len(a))]
print(c)
[a + b for a, b in zip(l1, l2)]
前言:Element-wise addition of 2 lists?
我想编写具有以下行为的代码:
[ 1, 1, ["Alpha"]]
+
[ 2, 2, ["Beta"] ]
|| || ||
\/ \/ \/
[3, 3, ["Alpha", "Beta"]]
在 python 中。如果没有非常混乱的理解和映射,这可能吗?
是的,这是可能的,尽管在调用列表理解之前我会三思而后行。将 operator.__add__
与两个列表一起传递给 map
:
import operator
list(map(operator.__add__, l1, l2))
# [3, 3, ['Alpha', 'Beta']]
此解决方案使用列表理解,尽管在我看来,它们远非凌乱。此外,它非常易读,不需要库
a = [1, 1, ["ALPHA"]]
b = [2, 2, ["BETA"]]
c = [a[i]+b[i] for i in range(len(a))]
print(c)
[a + b for a, b in zip(l1, l2)]