刚刚开始使用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')
}
答案 0 :(得分:0)
您期望什么输入?词典中的值是否必须设置?如果它是字典,则密钥?- debug.
true.
[debug] ?- spy(p/0).
% Spy point on p/0
true.
[debug] ?- p.
* Call: (8) p ? leap
* Call: (9) p ? leap
* Call: (10) p ? leap
* Call: (11) p ?
实际上不起作用,如您打算的那样:如果更新密钥,4
和set('1')
将会相互覆盖。假设它来自具有特定格式的文件,并且您使用了集合,则可以执行以下操作:
set('2')
这将导致类似:
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)