Python:从fi创建列表列表

2024-04-18 11:27:49 发布

您现在位置:Python中文网/ 问答频道 /正文

文件:

 1 2,5 3,1
 2 4,10 1,5
 3 4,1 1,1
 4 2,10 3,1

我想创建字典如下:

{1:[[2,5], [3,1]], 2:[[4,10], [1,5]], 
 3: [[4,1], [1,1]], 4: [[2,10], [3,1]]}

我设法做到了:

{1: [['2,5'], ['3,1']], 2: [['4,10'], ['1,5']], 
 3: [['4,1'], ['1,1']], 4: [['2,10'], ['3,1']]}

使用以下代码:

f = open("file.txt")
D = {}

for line in f:
    line = line.strip().split(" ")   
    for i in line:
        D[int(line[0])] = [[x] for x in line[1:]]
print D

Tags: 文件代码intxtfor字典lineopen
1条回答
网友
1楼 · 发布于 2024-04-18 11:27:49
f = open("file.txt")
D = {}

for line in f:
    line = line.strip().split(" ")   
    for i in line:
        D[int(line[0])] = [[int(y) for y in x.split(',')] for x in line[1:]]
print D

编辑:已测试。应该很好:)

因为您的原始代码包含一个列表,所以我假设您理解它们。我所做的就是把[x]变成[int(y) for y in x.split(',')]。即['3,4'] ->[3,4]。你知道吗

相关问题 更多 >