根据用户输入生成数据集



刚开始使用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'}}

相关内容

  • 没有找到相关文章

最新更新