刚开始使用Python,我想知道如何仅从用户输入创建一个集合。我正在从事一个项目,学生必须参加一些课程,但是某些课程有一些先决条件。用户输入的第一行将是课程数和依赖项总数,如下所示:
5 4
下一个输入(无论有多少(将是课程 ID 和课程可能具有的先决条件,例如:
1 3
2 3
4 1
4 2
目前我只是自己创建它,就像这样:
data ={
'1': set('3'),
'2': set('3'),
'4': set('1'),
'4': set('2')
}
您期待什么样的输入?字典中的值必须是集合吗?如果是字典,则键4
实际上无法按预期工作:如果您更新键,set('1')
和set('2')
会相互覆盖。假设它来自具有该特定格式的文件并且您使用 sets,您可以执行以下操作:
data = {}
with open("file.txt", "r") as f:
for line in f.readlines():
parsed_line = line.split()
key, value = parsed_line[0], parsed_line[1]
if key in data:
data[key].add(value)
else:
data[key] = set(value)
这将导致类似以下内容: {'1': {'3'}, '2': {'3'}, '4': {'1', '2'}}