Python 3.x 对列表中的子列表进行排序,然后将其另存为子列表 b=np.数组([1,-20.559,-5.4188,-4.0916],[1,-22,-5.9432,-4.0916],[1,-20.559,-5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[2, -20.559, -5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[3, -20.559, -5.4188, -4.0916], [2, -20.559, -5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[5, -20.559, -5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[3, -20.559, -5.4188, -4.0916],[7, -20.559, -5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[7, -20.559, -5.4188, -4.0916], [5, -20.559, -5.4188, -4.0916],[2, -20.559, -5.4188, -4.0916],]) list1=b.tolist() len(列表1) myList=[] mynew=[] 对于范围(8)内的j: 对于范围内的i(len(列表1)): 如果列表1[i][0]==j: myList.append(列表1[i][0:4]) mynew.append(myList) 打印(myList)

Python 3.x 对列表中的子列表进行排序,然后将其另存为子列表 b=np.数组([1,-20.559,-5.4188,-4.0916],[1,-22,-5.9432,-4.0916],[1,-20.559,-5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[2, -20.559, -5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[3, -20.559, -5.4188, -4.0916], [2, -20.559, -5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[5, -20.559, -5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[3, -20.559, -5.4188, -4.0916],[7, -20.559, -5.4188, -4.0916],[1, -20.559, -5.4188, -4.0916],[7, -20.559, -5.4188, -4.0916], [5, -20.559, -5.4188, -4.0916],[2, -20.559, -5.4188, -4.0916],]) list1=b.tolist() len(列表1) myList=[] mynew=[] 对于范围(8)内的j: 对于范围内的i(len(列表1)): 如果列表1[i][0]==j: myList.append(列表1[i][0:4]) mynew.append(myList) 打印(myList),python-3.x,list,append,sublist,Python 3.x,List,Append,Sublist,我的输出应该如下所示: [[[1.0, -20.559, -5.4188, -4.0916], [1.0, -22.0, -5.9432, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916],

我的输出应该如下所示:

[[[1.0, -20.559, -5.4188, -4.0916], [1.0, -22.0, -5.9432, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916]], [[2.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916]], [[3.0, -20.559, -5.4188, -4.0916], [3.0, -20.559, -5.4188, -4.0916]], [[5.0, -20.559, -5.4188, -4.0916], [5.0, -20.559, -5.4188, -4.0916]], [[7.0, -20.559, -5.4188, -4.0916], [7.0, -20.559, -5.4188, -4.0916]]]
[[1.0, -20.559, -5.4188, -4.0916], [1.0, -22.0, -5.9432, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916], [3.0, -20.559, -5.4188, -4.0916], [3.0, -20.559, -5.4188, -4.0916], [5.0, -20.559, -5.4188, -4.0916], [5.0, -20.559, -5.4188, -4.0916], [7.0, -20.559, -5.4188, -4.0916], [7.0, -20.559, -5.4188, -4.0916]]
我得到的是:

[[[1.0, -20.559, -5.4188, -4.0916], [1.0, -22.0, -5.9432, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916]], [[2.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916]], [[3.0, -20.559, -5.4188, -4.0916], [3.0, -20.559, -5.4188, -4.0916]], [[5.0, -20.559, -5.4188, -4.0916], [5.0, -20.559, -5.4188, -4.0916]], [[7.0, -20.559, -5.4188, -4.0916], [7.0, -20.559, -5.4188, -4.0916]]]
[[1.0, -20.559, -5.4188, -4.0916], [1.0, -22.0, -5.9432, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [1.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916], [2.0, -20.559, -5.4188, -4.0916], [3.0, -20.559, -5.4188, -4.0916], [3.0, -20.559, -5.4188, -4.0916], [5.0, -20.559, -5.4188, -4.0916], [5.0, -20.559, -5.4188, -4.0916], [7.0, -20.559, -5.4188, -4.0916], [7.0, -20.559, -5.4188, -4.0916]]

任何帮助都将不胜感激。

您需要一个临时
jList
来存储第一个元素相同的所有列表

范围(8)内j的
:
jList=[]
对于范围内的i(len(列表1)):
如果列表1[i][0]==j:
jList.append(列表1[i][:])
如果len(jList):
myList.append(jList)
从pprint导入pprint
pprint(myList)
"""
[[[1.0, -20.559, -5.4188, -4.0916],
[1.0, -22.0, -5.9432, -4.0916],
[1.0, -20.559, -5.4188, -4.0916],
[1.0, -20.559, -5.4188, -4.0916],
[1.0, -20.559, -5.4188, -4.0916],
[1.0, -20.559, -5.4188, -4.0916],
[1.0, -20.559, -5.4188, -4.0916],
[1.0, -20.559, -5.4188, -4.0916]],
[[2.0, -20.559, -5.4188, -4.0916],
[2.0, -20.559, -5.4188, -4.0916],
[2.0, -20.559, -5.4188, -4.0916]],
[[3.0, -20.559, -5.4188, -4.0916], [3.0, -20.559, -5.4188, -4.0916]],
[[5.0, -20.559, -5.4188, -4.0916], [5.0, -20.559, -5.4188, -4.0916]],
[[7.0, -20.559, -5.4188, -4.0916], [7.0, -20.559, -5.4188, -4.0916]]]
"""
但是你也可以用熊猫来做

df=pd.DataFrame(b)
结果=[]
对于df.groupby(0)中的(方法,组):
result.append(group.values.tolist())
pprint(结果)
尽管将所有相同的第一个元素分组到一个列表中,您也可以通过在
groupby

df.sort_值([0,1,2,3],轴=1,升序=[True,True,True,True],inplace=True)

您好,将列表分成相等的部分有帮助吗?没有,因为我不知道尺寸。我将在一个大列表中使用该代码,其中我不确定第一列中的值的范围。虽然我正在使用范围(8),但我会将其更改为一些。谢谢