Пример:
list1 =['a','b','c','d'] new_list = [] dict = {'a':24, 'b':53 ,'c':26, 'd':9}
Как мне взять list1 и добавить соответствующие значения dict в new_list, чтобы получить это:
new_list = [24,53,26,9]
Не используйте 'dict' в качестве имени переменной, оно затеняет встроенную функцию dict ().
list1 =['a','b','c','d'] d = {'a':24, 'b':53 ,'c':26, 'd':9} new_list = [d[k] for k in list1] assert new_list == [24, 53, 26, 9]
Предполагая, что все элементы в list1 являются ключами в dict, это самое простое решение, которое я могу придумать:
list1 =['a','b','c','d'] new_list = [] dict = {'a':24, 'b':53 ,'c':26, 'd':9} for it in list1: new_list.append(dict[it])
list1 =['a','b','c','d'] d = {'a':24, 'b':53 ,'c':26, 'd':9} new_list = map(lambda x: d[x], list1)
или если вам действительно нужно добавить вместо замены:
new_list.extend(map(lambda x: d[x], list1))
Попробуйте это:
lst = ['a','b','c','d'] dct = {'a':24, 'b':53 ,'c':26, 'd':9} new_list = [dct[k] for k in lst]
Как насчет этого?
for key in list1: new_list.append(dict[key]) print list1
Пример вывода:
[24, 53, 26, 9]