python中的列表排序

# 列表排序:
'''
# 1.通过sort()方法排序,直接修改原列表
def sort_list(list_data, rev=False):
L.sort() # reverse默认False升序
if rev:
L.sort(reverse=True)
return L


L = [324, 23, 2, 5]
print(sort_list(L, True))

'''

'''
# 2. 通过sorted排序,使用 sorted() 函数对序列进行排序, 并不会在原序列的基础进行修改,而是会重新生成一个排好序的列表
# suorted函数及用法可以参考这个:http://c.biancheng.net/view/2239.html,写的挺全面的
def sorted_list(L, rev=False):
new_list = sorted(L) # reverse 默认升序(False,默认)
if rev:
new_list = sorted(L, reverse=True)
return new_list


L2 = [8, 2, 50, 3]
print(sorted_list(L2, rev=True))
'''

'''
# 3.冒泡排序
def sort_list(L, rev=False):
for i in range(len(L)):
for j in range(i + 1, len(L)):
if rev: # true 降序
if L[i] < L[j]:
L[i], L[j] = L[j], L[i]
else: # false升序
if L[i] > L[j]:
L[i], L[j] = L[j], L[i]

return L


L2 = [8, 2, 50, 3]
print(sort_list(L2, rev=False))
'''


# 4.选择排序法:这里只演示升序
def sort_list(L):
new_list = []
for i in range(len(L)):
a = min(L) # 逐渐取出最小的放入新的列表中,如果是降序用max
new_list.append(a)
L.remove(a) # 在原列表中剔除最小值,pop传下标,remove传值
return new_list


L2 = [8, 2, 50, 3]
print(sort_list(L2))
posted @ 2023-03-17 11:20  dyjnicole  阅读(184)  评论(0编辑  收藏  举报