我有一个2D列表或列表列表。通过Python中的迭代重构列表列表
输入文件是
A 58.76-65.9
B 58.76-65.9
C 58.76-65.9
A 24.8-62.8
我再创建一个列表的列表:
with open("Input.txt", "r") as file:
raw = [[str(x) for x in line.split()] for line in file]
print (raw)
返回
[['A', '58.76-65.9'], ['B', '58.76-65.9'], ['C', '58.76-65.9'], ['A', '24.8-62.8']]
我的目标是到现在创建一个新的列表具有新结构的列表。我怎样才能获得像这样的新列表?
[['58.76-65.9', 'A', 'B', 'C'], ['A', '24.8-62.8']]
我第一次尝试unioning集,但创建一个大名单,我需要列出的名单。因此,我的计划是(1)创建一个新的空列表, (2)遍历列表的原始列表, (3)检查第二个元素(即58.76-65.9)是否存在于新的列表列表中名单。如果不是,则扩展这两个元素。如果是这样,只是第一个元素(即A)
# Defining empty list
matches=[]
# Accesing each row in the 2d list
for r in raw:
if r[1] not in matches[0][]:
matches.append([r[1], r[0]])
我意识到matches[0][]
是不正确的,什么是访问它的正确方法?