将三个列表合并成一本词典

2024-09-24 22:20:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要把三个单子合并成一本词典。这些列表是从我格式化的txt文件中读取的,下面是该文件的片段:

maker =['Horsey', 'Ford', 'Overland', 'Scripps-Booth']

year = ['1899', '1909', '1911', '1913']

model = ['Horseless', 'Model T', 'OctoAuto', 'Bi-Autogo']

具体如下:

car_dict = {'Horsey':1899,'Horseless','Ford':1909,'Model T','Overland' : 1911, 'OctoAuto', 'Scripps-Booth' : 1913, 'Bi-Autogo'}

以下是我所做的:

def car_data_merge(car_maker,car_model,car_year):
    car_dict = {}
    car_merge = []

    car_dict = defaultdict(partial(defaultdict,list))

    for (car_maker,car_model,car_year) in zip(car_maker,car_model,car_year):
         car_dict[car_year][car_model].append(car_maker)
    print(car_dict)

当我输入这个时,我得到:

{'Horsey': defaultdict(<class 'list'>, {'1899': ['Horseless']})

不是所有列表中的数据都显示出来,我不想显示defaultdict

当我尝试以下操作时:

def car_data_merge(car_maker,car_data):
    car_dict = {}
    car_merge = []
    car_merge = zip(car_maker,car_data)  
    car_dict = dict(car_merge)
    print(car_dict)

    ###   car_data holds both year and model   ####

只有部分数据显示:

'Horsey':'Horseless',':1909,'Model T

我该怎么办?


Tags: 文件列表datamodelmergecaryeardict