2016-05-24 8 views
-2

Есть ли способ определить функцию, которая принимает два списка и делает элементы в первом списке ключом и элементами во втором списке значениями словаря?Создание 2 списков в один словарь

names = ['ted','west','tom','jerry','fred'] и другой список ages = [10,23,13,18,12] , как я могу определить функцию, которая принимает два списка и возвращает словарь с именами, как ключ и оценки в качестве значения?

Я знаю, что могу превратить каждый список в словарь, а затем добавить его, но я не уверен, как я могу разместить двоеточия.

+0

ответ, который был отмечен как дубликат будет работать для вас. Но вы также можете сделать что-то вроде этого: '{k: v для k, v в zip (имена, возрасты)}'. Это было бы, как разместить эти «двоеточия», но вы также можете назвать «dict», который работает так же хорошо. – ZWiki

ответ

0

zip их, а затем dict comprehension

>>> ages = [10,23,13,18,12] 

>>> names = ['ted','west','tom','jerry','fred'] 

>>> {x[0]:x[1] for x in zip(names, ages)} 
{'ted': 10, 'tom': 13, 'fred': 12, 'jerry': 18, 'west': 23} 
+2

'dict (zip (names, ages))' работает тоже ... понимание не нужно ... – mgilson

+0

@mgilson cool, не знал, что dict принимает коллекцию 2-кортежей как args –

+0

как я могу сохранить этот новый словарь с переменную, которую я могу вызвать? – james2121

Смежные вопросы