【发布时间】:2013-10-16 00:28:13
【问题描述】:
这有点令人困惑,所以我会尽力解释我的目标。 简而言之,我正在尝试查看列表中的子列表。在这些子列表中,有些具有相同的起始元素(sublist[0]),我想记录该子列表与以相同元素开头的其他子列表之间的差异
data = [['o1415', '1', '0', '1'], ['o1415', '0', '0', '0'], ['o1414', '0', '0', '0'], ['o1414', '1', '0', '0'], ['o1414', '0', '0', '0'], ['o1408', '0', '0', '1'], ['o1406', '0', '0', '0']]
D_changes = {}
这是一个包含 4 个元素的列表。 .第一个有名字,第二个/第三个/第四个元素有数字。
我正在尝试生成具有 {name:[then,the,differences])} 的字典
例如 data[0] 和 data[1] 都有 'o1415' 作为它们的第一个元素。因为它们对于第一个元素具有相同的字符串,所以我想将其余列表相互比较。因此 data[0] 与 data[0][1] 和 data[0][2] 与 data[1] 不同。 . .所以我想将 'o1415':['first','third'] 添加到空字典 D_changes 中。
另一个例子是 'o1414',它位于 data[2],data[3],data[4] 中,对于这些列表,一个元素在 [1] 位置不同,所以我想添加 ' o1414' : ['first'] 到上面的空字典
最后我想得到一本有这种内容的字典
desired_changes = {'o1415':['first','third'],'o1414':['first'],'o1408':[],'o1406':[]}
【问题讨论】:
-
您尝试的解决方案有什么问题?
-
要求代码的问题必须表明对所解决问题的最低理解。包括尝试的解决方案、它们为什么不起作用以及预期的结果。另请参阅:堆栈溢出问题清单
标签: python list dictionary compare sublist