下面的代码是从一个更大的一块位。线是2D列表,keyss是1D列表。行中的所有元素与keyss的长度相同。查询字典理解
datadict = []
for element in lines:
for index in range(len(element)):
datadict.append({keyss[index]: element[index]})
我想知道是否有使用字典理解书写这种方法?这更像是一个奇怪的问题,因为所显示的代码对我正在做的事很好。我一直在尝试,也找不到方法。如果你可以阅读它的外观,谢谢!
编辑#1:
通过响应阅读,我意识到这是不是真的工作。我试图做一个列表理解,其中每个元素都是字典理解。我不完全确定这是否可行。我想制作一个字典列表,其中我将keyss中的每个元素和索引中的索引匹配到列表中的行中的元素,如果这样做合理的话。
编辑#2: 我发现data_list = [{keyss[i]:row[i] for i in range(len(keyss))} for row in lines]
工作。
我想你已经混淆了名单和字典。你称之为'datadict'实际上是一个包含只有一个键的字典的列表。这是预期的结果还是你想构建一个大字典? –