如何在 python 中使用特殊条件创建嵌套列表

How to create nested list using special condition in python

非常感谢能回答我的问题。
所以问题:我有一个列表

Plist=[[x1,y2,str_1],[x2,y2,str_1],[x3,y3,str_1],[x4,y4,str_2],[x5,y5,str_2]]  

并希望将其转换为嵌套列表(现在会避免 dict):

newPlist=[[[x1,y2,str_1],[x2,y2,str_1],[x3,y3,str_1]],[[x4,y4,str_2],[x5,y5,str_2]]]  

我知道如何根据长度进行排序,但如果我有特殊情况(在我的情况下 Plist[][2])无法弄清楚
到目前为止我尝试了什么: 分组数据:

for elt, items in groupby(Plist, itemgetter(2)):

print elt, item  
    for i in items:  
        print i    

然后我就不知道该写什么了

 newPlist=[]  
 newPlist.append(???)  

看了论坛,觉得这东西很基础,就是想不通。我找到了 panda 和 numpy,但由于特殊原因,我无法使用它们。 非常感谢您!!!

您可以在每个 items:

上应用 list
newPlist.append(list(items))

例如,第一个 list(items) 将计算为:

[['x1', 'y2', 'str_1'], ['x2', 'y2', 'str_1'], ['x3', 'y3', 'str_1']]

等等。

请注意,由于每个 items 都是一个生成器,因此您需要删除打印循环以避免消耗生成器的内容,否则 list(items) 将只是一个空列表。