如何根据嵌套列表中的较大列表创建几个包含指定索引的较小列表?
How to create several smaller lists that contain specified indices based on a larger list in a nested list?
我有一个包含不同大小的嵌套列表的列表。我想查找那些包含 3 个对象的对象,并将它们分成 3 个不同的列表,格式如下:
从 [x,y,z] 到 [x,y]、[x,z]、[y,z]
我已经尝试过追加功能,但似乎不起作用
edges3_2000= [[980065855, 981668537], [979913095, 979913834],
[968276549, 974397900, 982082188],[976522303, 980117189],
[935286395, 979789696, 981925831], [932339048, 971089121]]
edges5_2000 =[]
for sublist in edges3_2000:
if len(sublist) == 3:
edges5_2000.append(sublist[0][1])
edges5_2000.append(sublist[0][2])
edges5_2000.append(sublist[1][2])
这会产生错误消息:TypeError: 'int' object is not subscriptable
如果 sublist == [968276549, 974397900, 982082188]
则 sublist[0] == 968276549
和 sublist[0][1]
尝试下标整数。
将附加行更改为:
edges5_2000.append([sublist[0], sublist[1]])
edges5_2000.append([sublist[0], sublist[2]])
edges5_2000.append([sublist[1], sublist[2]])
我有一个包含不同大小的嵌套列表的列表。我想查找那些包含 3 个对象的对象,并将它们分成 3 个不同的列表,格式如下: 从 [x,y,z] 到 [x,y]、[x,z]、[y,z]
我已经尝试过追加功能,但似乎不起作用
edges3_2000= [[980065855, 981668537], [979913095, 979913834],
[968276549, 974397900, 982082188],[976522303, 980117189],
[935286395, 979789696, 981925831], [932339048, 971089121]]
edges5_2000 =[]
for sublist in edges3_2000:
if len(sublist) == 3:
edges5_2000.append(sublist[0][1])
edges5_2000.append(sublist[0][2])
edges5_2000.append(sublist[1][2])
这会产生错误消息:TypeError: 'int' object is not subscriptable
如果 sublist == [968276549, 974397900, 982082188]
则 sublist[0] == 968276549
和 sublist[0][1]
尝试下标整数。
将附加行更改为:
edges5_2000.append([sublist[0], sublist[1]])
edges5_2000.append([sublist[0], sublist[2]])
edges5_2000.append([sublist[1], sublist[2]])