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
)。