这应该可以解决问题:
In [3]: arrs = [map(int, line.strip().split()) for line in open('file.txt')]
In [4]: first2rest = dict( (arr[0], arr[1:]) for arr in arrs)
In [5]: first2rest
Out[5]: {1: [2], 2: [3], 3: [4], 4: [4], 5: [7], 8: [3, 5, 2], 15: [11, 8, 9, 6, 3, 4]}
让我们把它拆开。这部分将文件中的每一行按空格分开,并将它们转换为整数:
map(int, line.strip().split())
然后这部分创建该行中第一项到其余项的字典:
first2rest = dict( (arr[0], arr[1:]) for arr in arrs)
但是,正如 @SethMMorton 指出的那样,您将丢失数据,因为您列出的文件多次包含相同的密钥。