Итак, у меня есть сценарий, который позволяет мне что-то ввести в командной строке и показать ему соответствующий список. Например, если я запускаю его и распечататьЗамена моего бита кода exec()
Вот основные биты:
list_of_strings = ['mexico', 'america', 'canada']
list_of_lists = [ [0,0,0,3], [4,9,3,6], [5,6,7] ]
for name in range(len(list_of_strings)):
exec(list_of_strings[name] + ' = list_of_lists[name]')
работает это и не набрав «америка» (без кавычек), возвращает [4,9,3,6] .
Моя проблема, когда я хочу, чтобы преобразовать этот бит в функцию, как
def my_zip(list_of_strings, list_of_lists):
for name in range(len(list_of_strings)):
return exec(list_of_strings[name] + ' = list_of_lists[name]')
my_zip(list_of_strings, list_of_lists)
Он больше не работает. «Америка» (без кавычек) не признается в качестве переменной.
Я чувствую, что должен использовать словарь, но любые указатели будут очень благодарны!