我有两个列表:
list1 = [('a', '1'),('b', '2'),('c', '3')
list2 = [('a', 'x'),('b', 'y'),('c', 'z')
我要创建:
list3 = [('a', '1', 'x'),('b', '2', 'y'),('c', '3', 'z')
我尝试.append,但未成功:
list3 = list1.append(list2[1])
答案 0 :(得分:1)
您可以使用zip
:
list1 = [('a', '1'),('b', '2'),('c', '3')]
list2 = [('a', 'x'),('b', 'y'),('c', 'z')]
new_result = [(a, c, d) for (a, c), (_, d) in zip(list1, list2)]
输出:
[('a', '1', 'x'), ('b', '2', 'y'), ('c', '3', 'z')]
答案 1 :(得分:1)
用户list comprehension
:
list1 = [('a', '1'),('b', '2'),('c', '3')]
list2 = [('a', 'x'),('b', 'y'),('c', 'z')]
list3= [(list1[i][0],list1[i][1],list2[i][1]) for i in range(len(list1))]
print(list3)
输出:
[('a', '1', 'x'), ('b', '2', 'y'), ('c', '3', 'z')]
答案 2 :(得分:0)
您可以使用union
。
list1 = [('a', '1'),('b', '2'),('c', '3')]
list2 = [('a', 'x'),('b', 'y'),('c', 'z')]
list3 = []
for i in range(len(list1)):
for j in range(len(list2)):
if(i == j):
list3.append(set(list1[i]) | set(list2[j]))
break;
输出:
[{'a', 'x', '1'}, {'y', '2', 'b'}, {'3', 'c', 'z'}]