如何在python中的字典中添加嵌套列表

Vig*_*esh 0 python dictionary list

我有嵌套列表,看起来像这样

my_list = [[1,'raj','CSE'],[2,'kumar','MECH'],[3,'Nisha','ECE']]
Run Code Online (Sandbox Code Playgroud)

由于我需要将其导出为CSV,我想将其转换为字典.我的输出应该是这样的.

my_dict = {'id':[1,2,3],'Name':['raj','kumar','Nisha'],'Course':['CSE','MECH','ECE']}
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这个???

cs9*_*s95 13

轻松完成zip:

l = [[1,'raj','CSE'],[2,'kumar','MECH'],[3,'Nisha','ECE']]
d = dict(zip(['Id', 'Name', 'Course'], map(list, (zip(*l))))) 
d    
# {'Course': ['CSE', 'MECH', 'ECE'],
#  'Id': [1, 2, 3],
#  'Name': ['raj', 'kumar', 'Nisha']}
Run Code Online (Sandbox Code Playgroud)

由于你想在将它保存到csv之前首先将它转换为dict,我假设你使用pandas(否则它更容易以现有的形式保存它).这很容易做到:

df = pd.DataFrame(d)  # `d` is from the code snippet above.

df

  Course  Id   Name
0    CSE   1    raj
1   MECH   2  kumar
2    ECE   3  Nisha

df.to_csv('test.csv')
Run Code Online (Sandbox Code Playgroud)

另外,如果你希望使用大熊猫,只是这样做:

l = [[1,'raj','CSE'],[2,'kumar','MECH'],[3,'Nisha','ECE']]
 with open('test.csv', 'w') as f:
     writer = csv.writer(f)
     writer.writerow(['Id', 'Name', 'Course'])
     writer.writerows(l)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您不需要转换为字典.

  • 为什么只有python 3?这在python 2.7中运行良好 (3认同)