列表包含2个元素,列表和int,希望将每个列表项与该int相关联

时间:2017-12-31 12:49:34

标签: python list

我有一个列表列表,其中第一个列表的每个元素都由第二个列表和一个整数组成。

我想要做的是将单个整数与列表中的每个元素相关联,从而使第一个列表的元素成为代码中2个元素的列表。我还没有得到如何做到这一点的线索。

这是我用来测试的代码:

list1 = [[1,2,3],[1,2,3,4]]


list2 = []
list3 = []

for element in range (len(list1)):
    list2.append(list1[element][0])
    list2.append(list3)
    list3.append([list1[element][1:]])
    list3[element].append(list1[element][0])    

print(list3)

3 个答案:

答案 0 :(得分:1)

第一个例子的简单方法:

l = [1,[2,3]] 
final_l = [[l[0], i] for i in l[-1]]

输出:

[[1, 2], [1, 3]]

更大范例的解决方案:

l = [[1,[2,3]], [3, [45, 2]], [6, [12, 2]], [3, [3, 4]]]
final_l = [[[c, a] for c in b] for a, b in l]

输出:

[[[2, 1], [3, 1]], [[45, 3], [2, 3]], [[12, 6], [2, 6]], [[3, 3], [4, 3]]]

答案 1 :(得分:0)

试试这个:

list2 = [[[l[0], num] for num in l[1:]] for l in list1]

输出结果为:

list2 = [[[1, 2], [1, 3]], [[1, 2], [1, 3], [1, 4]]]

答案 2 :(得分:0)

您可以尝试使用这种方法:

l = [[1,[2,3]], [3, [45, 2]], [6, [12, 2]], [3, [3, 4]]]

print(list(map(lambda x:list(map(lambda y:[y,x[0]],x[1])),l)))

输出:

[[[2, 1], [3, 1]], [[45, 3], [2, 3]], [[12, 6], [2, 6]], [[3, 3], [4, 3]]]