Как я могу отобразить два списка в словарь из списков, передаваемых в функцию - PullRequest
0 голосов
/ 30 апреля 2020

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

def main():
    pop = [34372,37821,45673,67100,69100,70245]
    years = ['2012','2013','2014','2016','2017','2018']
    highest_year_change(years,pop)

def highest_year_change(years,pop):

    year_pop_dict = {}

    year_pop_tuples = zip(years,pop)
    for key, value in year_pop_tuples:
        year_pop_dict[key] = value

    print(year_pop_dict)

вывод: {'2012': 34372}

Сначала я попробовал: year_pop_dict = dict(zip(years,pop)), но результаты те же. только когда списки не передавались между функциями, словарь создавался как предполагалось. `

1 Ответ

0 голосов
/ 30 апреля 2020

Я предполагаю, что оба списка имеют одинаковую длину, поэтому приведенное ниже решение:)

pop = [34372,37821,45673,67100,69100,70245]
years = ['2012','2013','2014','2016','2017','2018']

def convert_to_dictionary(pop, years):

    dic = {}
    length = len(pop)
    for i in range(0, length, 1):
        dic.update({years[i]:pop[i]})

    return dic

result = convert_to_dictionary(pop, years)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...