从python中的元组列表创建一个新列表

时间:2017-06-07 08:19:33

标签: python-3.x

我有一个元组列表

a = [(1,'a'),(2,'b'),(3,'c'),(4,'d')]

和另一个清单

b = [1,2,4]

现在,使用列表ab我想生成一个列表c,其中包含列表a中的b的相应元素

这意味着c应该是

c = ['a','b','d']

我该怎么做?

1 个答案:

答案 0 :(得分:2)

嵌套循环:

c = []
for b_number in b:
    for a_number, a_letter in a:
        if b_number == a_number:
            c.append(a_letter)
            break

或效率较低(无break)列表理解:

c = [a_letter for a_number, a_letter in a for b_number in b if b_number == a_number]

假设a中的数字是唯一的,那么使用字典会更容易:

a = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
b = [1, 2, 4]
c = [a[b_number] for b_number in b]