对比一道python题的不同解法

2019-06-09  本文已影响0人  码家客

看到一道题,对比自己写的野路子函数,和题主的解法,及之前看过的一个巧方法,瞬间立分高下,书读的少,还是要多学习。。。

题目:

随机生成100个10至1000之间的数,对生成的100个数进行排序,禁止使用Python自带的排序函数,要自己实现排序函数

---我的野路子函数---

import numpy

def l_sort(list_a):

    list_b = []
    for value in list_a:
        if len(list_b) > 1:
            i = 0
            while i < len(list_b) :
                if value >= list_b[-1]:
                    list_b.append(value)
                    break
                elif value >= list_b[i] and value < list_b[i+1]:
                    list_b.insert(i+1,value)
                    break
                else:
                    i += 1
        elif len(list_b) == 1 :
            if value >= list_b[0]:
                list_b.append(value)
            else:
                list_b.insert(0,value)
        else:
            list_b.append(value)
    return list_b

list_a = list(numpy.random.randint(0,1000,100))
a = l_sort(list_a)
print(a)

题主用前后数对比方式进行排序,参考链接:https://www.jianshu.com/p/08c89733c9db
还有一个利用enumerate()的巧方法,参考自定义sort函数部分,链接:https://blog.csdn.net/beyondlee2011/article/details/86556327#3__234

上一篇 下一篇

猜你喜欢

热点阅读