【发布时间】:2019-04-08 22:10:24
【问题描述】:
尝试使用列表中的值创建多键字典,其中字典的键是第一列和第一行值,但空单元格除外。
下面的代码没有返回预期的结果。我还尝试了地图功能和列表理解。
# list data
list_data = [['', '', 'VARIANT1', 'VARIANT2'],
['power', 'kW', '12', '20'],
['range', 'm', '200', '400'],
['colour', '', 'blue', 'yellow']]
# my code
import collections
dict_data = collections.defaultdict()
for row in range(1: len(list_data)):
for column in range(2: len(list_data[0])):
dict_data[(list_data[row][0], list_data[0][column])
] = list_data[row][column]
# desired output
dict_data = {('power', 'VARIANT1'): '12',
('range', 'VARIANT1'): '200',
('colour', 'VARIANT1'): 'blue',
('power', 'VARIANT2'): '20',
('range', 'VARIANT2'): '400',
('colour', 'VARIANT2'): 'yellow', }
【问题讨论】:
-
这是一个语法错误
list_data = [[, , 'VARIANT1', 'VARIANT2']是一个错字吗? -
list_data中实际上有 3 个语法错误... -
这确实是一个错字,应该是一个空字符串。
标签: python list dictionary nested-lists multikey