Да, есть, просто переберите список и извлеките значения из словаря:
lst =['a','b','c','d']
dct = {'d':'fourth' ,'a': 'first','b':'second','c':'third'}
result = [dct[i] for i in lst]
print(result)
Вывод
['first', 'second', 'third', 'fourth']
В качестве примечанияне используйте встроенные имена в качестве имен переменных.Приведенное выше понимание списка эквивалентно следующему циклу for
:
result = []
for e in lst:
result.append(dct[e])
Если вы хотите более надежную версию, вы можете использовать метод get иукажите значение по умолчанию, например:
lst =['a','b','c','d', 'f']
dct = {'d':'fourth' ,'a': 'first','b':'second','c':'third'}
result = [dct.get(e, 'missing') for e in lst]
print(result)
Вывод
['first', 'second', 'third', 'fourth', 'missing']