Python 如何提高代码的效率?我正在给一张单子排序

Python 如何提高代码的效率?我正在给一张单子排序,python,list,performance,sorting,Python,List,Performance,Sorting,这是我为列表输入和排序编写的。它会产生错误 n=int(input()) l=[] for i in range(n): a=int(input()) l.append(a) l.sort() for j in l: print(j) 这是被接受的代码 import sys n = int(input().strip()) unsorted = [] unsorted_i = 0 for unsorted_i in range(n): unsor

这是我为列表输入和排序编写的。它会产生错误

n=int(input())
l=[]
for i in range(n):
    a=int(input())
    l.append(a)
    l.sort()
for j in l:
    print(j)   
这是被接受的代码

import sys


n = int(input().strip())
unsorted = []
unsorted_i = 0
for unsorted_i in range(n):
   unsorted_t = str(input().strip())
   unsorted.append(unsorted_t)

unsorted.sort(key = lambda x : int(x))
for u in unsorted:
    print(u)

为什么人们先将列表元素作为字符串,然后将它们转换为int。这有什么显著的优势吗?

第二个代码很可怕。首先将列表元素作为字符串,并在排序过程中为每次比较转换它们是非常糟糕的


您的代码很好,只是在每次向列表中添加元素时都犯了排序错误。当列表中有所有元素时,只应进行一次排序,即取消
l.sort()
行并将其从for循环中取出。

什么是TLE错误?@MateenUlhaq时间限制超出了我的猜测。没有“优势”。(可以说,如果你以后想对这些数字做任何事情,通常会有一个“缺点”…)这可能要花很长时间,因为你要运行
。sort
很多次(
n
)。