Python列表操作 - 加入类似于产品的列表

时间:2014-08-21 16:34:29

标签: python

是否有一种能够发挥这种魔力的功能?

[1,2,3] [a, b,c] -> [[a, 1, 2, 3] [b,1,2,3] [c,1,2,3]]

2 个答案:

答案 0 :(得分:2)

不,但写一个很简单。

def myfunc(list1, list2):
    return [[i]+list2 for i in list1]

print(myfunc(['a', 'b', 'c'], [1, 2, 3]))
# [['a', 1, 2, 3], ['b', 1, 2, 3], ['c', 1, 2, 3]]

答案 1 :(得分:0)

只需稍加修改即可使用zip功能:

x = [1, 2, 3], y = [4, 5, 6]
print zip(x, [y] * 3)

输出:

[(1, [4, 5, 6]), (2, [4, 5, 6]), (3, [4, 5, 6])]

<强>说明: zip将第一个列表的每个元素与第二个列表的对应元素连接起来。由于我们希望将x的每个元素与y中的所有元素结合起来,我们只需将3 y放入列表中并插入此列表它进入zip

请注意,对于x具有任意长度的更一般情况,您应将[y] * 3替换为[y] * len(x)