如何在 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)
将只是一个空列表。
非常感谢能回答我的问题。
所以问题:我有一个列表
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)
将只是一个空列表。