在Python中将字典列表划分为子字典
我使用字典列表中的MySQLdb从数据库中获取“n”个记录。我想根据数据将列表细分为不同的子列表。e、 g在Python中将字典列表划分为子字典,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我使用字典列表中的MySQLdb从数据库中获取“n”个记录。我想根据数据将列表细分为不同的子列表。e、 g col1 | col2 | col3 | col4 data11 | data12 | data13 | data14 data11 | data12 | data23 | data24 data11 | data13 | data33 | data34 data11 | data13 | d
col1 | col2 | col3 | col4
data11 | data12 | data13 | data14
data11 | data12 | data23 | data24
data11 | data13 | data33 | data34
data11 | data13 | data43 | data44
data21 | data12 | data53 | data54
data21 | data12 | data63 | data64
data21 | data13 | data73 | data74
data21 | data13 | data83 | data84
我想将此数据转换为:
col1 | col2 | col3 | col4
第一份名单:
data11 | data12 | data13 | data14
data11 | data12 | data23 | data24
第二份名单:
data11 | data13 | data33 | data34
data11 | data13 | data43 | data44
第三名单:
data21 | data12 | data53 | data54
data21 | data12 | data63 | data64
第四名单:
data21 | data13 | data73 | data74
data21 | data13 | data83 | data84
Python有没有什么超级棒的方法可以将多个列分组并将列表分成多个列表
编辑:
目前,我有:
[{ "col1":"data11","col2":"data12","col3":"data13","col4":"data14"
},
...
]
我想根据col1和col2中的值将这些数据细分为字典列表
你可以从上表中理解它。我猜输出将是[[{}]]格式。使用字典中的字典:
super_awesome = {}
for row in rows: # these are the rows from MySQLdb
col1 = super_awesome.get(row['col1'], {}) # get col1 or an empty dict
col2 = col1.get(row['col2'], []) # get col2 or an empty list
col2.append(row) # append row to (col1,col2)
col1[row['col2']] = col2 # put col2 into col1
super_awesome[row['col1']] = col1 # put col1 into super_awesome
完成后,
super\u awesome
为每个唯一的col1
值都有一个条目,并且每个条目都为每个唯一的(col1,col2)
值有一个条目。反过来,这些条目每个都有一个(col1,col2)
对的行列表。那么您想将字典列表转换为列表列表吗?你能用一个python数据结构样本更新你的问题,说明你想如何访问输出吗?@user3885927我按照你的要求编辑了这个问题。我能按照你的回答得到[{}]]数据类型的输出而不是{{[}]}数据类型的输出吗?我将由你决定。