我是python的新手,有一个希望简单的问题。我有一个包含道路名称和长度的txt文件。即主要街道56英里。我很难理解如何在Python中调用该文件并按升序对所有道路长度进行排序。谢谢你的帮助。
答案 0 :(得分:0)
我们假设有一个"里程"每个号码之后。 (这是一个未经测试的代码,因此您可以对其进行编辑,但我认为这个想法是正确的)。
编辑:这是测试
import collections
originaldict = {}
newdict = collections.OrderedDict()
def isnum(string):
try:
if string is ".":
return True
float(string)
return True
except Exception:
return False
for line in open(input_file, "r"):
string = line[:line.find("miles") - 1]
print string
curnum = ""
for c in reversed(string):
if not isnum(c):
break
curnum = c + curnum
originaldict[float(curnum)] = []
originaldict[float(curnum)].append(line)
for num in sorted(originaldict.iterkeys()):
newdict[num] = []
newdict[num].append(originaldict[num][0])
del originaldict[num][0]
with open(output_file, "a") as o:
for value in newdict.values():
for line in value:
o.write(line + "\n")