我最近又开始学Python了,因为我已经好几年没有用它来做一些没有特定语言要求的学校项目。我当前的项目是使用max堆结构创建一个简单的优先级队列。我的输入是当前的问题。对于每一行输入,我们都会得到几个元组:一个字符串(数据)和一个数字(优先级)。在
例如:
(R10, 10), (R20, 20), (R90, 90), (R75, 75), (R35, 35), (R60, 60), (R260, 60), (R360, 60)
(R15, 15)
(R50, 50)
(R275, 75)
对于每一行,我们需要将每个信息元组插入到优先级队列堆中,弹出并返回最高优先级,然后对每一行重复该操作。在
输出:(应该是什么)
^{pr2}$我不知道如何将数据精确地转换成我可以使用的形式。我现在有这个。在
^{3}$它返回这个:(这是目前我得到的最接近的)
['(R10, 10', 'R20, 20', 'R90, 90', 'R75, 75', 'R35, 35', 'R60, 60', 'R260, 60', 'R360, 60', 'R210, 10', 'R5, 5', 'R76, 76', 'R80, 80)\n']
['(R15, 15)\n']
['(R50, 50)\n']
['(R275, 75)\n']
如有任何帮助,请提前谢谢!在
我认为用正则表达式最容易解决这个问题:
输入数据的结果是:
^{pr2}$编辑:
如果需要分别处理每一行,只需对
file.readlines()
中的每一行执行tuple_pattern.findall(line)
输出:
相关问题 更多 >
编程相关推荐