我有一个元组列表
a = [(1,'a'),(2,'b'),(3,'c'),(4,'d')]
和另一个清单
b = [1,2,4]
现在,使用列表a
和b
我想生成一个列表c
,其中包含列表a
中的b
的相应元素
这意味着c应该是
c = ['a','b','d']
我该怎么做?
答案 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]