对数字进行排序的最佳算法是什么?

时间:2021-05-30 11:11:00

标签: python performance optimization

所以我有一个名为 new.txt 的文档,其中包含许多 pi 数字(请参阅 https://www.piday.org/million/),我想将数字拆分为由所有这些数字组成的按顺序排列的列表。我的代码可以工作,但速度非常慢(我尝试使用较少的 pi 位数)。

def sort(stuff):
    for iter_num in range(len(stuff)-1,0,-1):
        for idx in range(iter_num):
            if stuff[idx]>stuff[idx+1]:
                temp = stuff[idx]
                stuff[idx] = stuff[idx+1]
                stuff[idx+1] = temp
    return stuff
                

a = []
with open("/Users/serax/desktop/new.txt", "r") as r:
    for line in r.readlines():
        for char in line:
            text = a.append(char)


print(sort(a))

1 个答案:

答案 0 :(得分:1)

感谢评论我编辑了我的代码,这是结果。

thisdict = {
  ".": 0,
  "0": 0,
  "1": 0,
  "2": 0,
  "3": 0,
  "4": 0,
  "5": 0,
  "6": 0,
  "7": 0,
  "8": 0,
  "9": 0,
  }

with open("/Users/serax/documents/new.txt", "r") as r:
    for line in r.readlines():
        # print(sorted(line)) # built in function that can sort str/list/tuple (works)
        for char in line:
            for key in thisdict:
                if char == key:
                    thisdict[key] += 1

ordered = ""
for i in thisdict:
    ordered = ordered + i*thisdict[i]

print(ordered)
相关问题