在Python中将字典列表划分为子字典

在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

我使用字典列表中的MySQLdb从数据库中获取“n”个记录。我想根据数据将列表细分为不同的子列表。e、 g

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我按照你的要求编辑了这个问题。我能按照你的回答得到[{}]]数据类型的输出而不是{{[}]}数据类型的输出吗?我将由你决定。