如果与另一个列表中的项目一起在python中附加列表

时间:2018-06-23 14:44:05

标签: python

我有两个列表:

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])

3 个答案:

答案 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'}]