在Python中将文件中的分数转换为字典?

2024-04-24 20:53:36 发布

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

我想从一个有几行的文件中创建一个字典条目:如果该行只是数字,它将是一个值,但如果它不是(即主要是字母),它将是以下数字的键,直到文件中出现另一个名称。我还没有弄明白如何在代码到达下一个名称时通过创建一个新的键来使代码“重新开始”/“继续”

该文件如下所示:

Gigi:
0
2
3
2
Bella:
1
6
2
9

我想要一本这样的字典:

{Gigi: [0,2,3,2], Bella: [1,6,2,9]}

Tags: 文件代码名称字典字母条目数字bella
1条回答
网友
1楼 · 发布于 2024-04-24 20:53:36
my_dict = {}
current_key = None
for line in open('/path/to/file', 'r'):
    if not line.strip().isdigit():
        current_key = line.strip()
        my_dict[current_key] = []
    else:
        my_dict[current_key].append(int(line.strip()))

首先设置一个空字典,向其中添加键和值,然后设置一个变量跟踪当前键,直到下一个非数字替换它,最后迭代文件中的行,如果不是数字,则将其设置为当前键,并作为空列表添加到字典中,如果它是一个数字,它将被转换为整数并附加到当前键的字典条目中

编辑: 这要求第一行是一个键,如果数字出现在第一行,字典中将没有相应的键来附加值

相关问题 更多 >