Python 列表生成式,氣泡排序演算法

2021-10-05 12:11:40 字數 1375 閱讀 7425

列表生成式語法:

列表生成式的缺點:1.不方便除錯 2.不適合複雜的

排序演算法

使用現成的方法進行排序:

)#倒序排序

blist.sort(reverse=true)

#倒序排序

print(blist)

氣泡排序:找n-1次較大值,兩兩相鄰元素對比,大的往後排。

# author:滿庭楓

alist =

[9,2,6,0]'''

排序思路:找4-1=3個較大值,for迴圈len(alist)-1次

1- 第乙個較大值---9

1- [9,2,6,0] ---9與2比較---9大---9與2交換位置---[2,9,6,0]

2- [2,9,6,0] ---9與6比較---9大---9與6交換位置---[2,6,9,0]

3- [2,6,9,0] ---9與0比較---9大---9與0交換位置---[2,6,0,9]

2- 第二個較大值---6

1- [2,6,0,9] ---2與6比較---6大---不要交換位置---[2,6,0,9]

2- [2,6,0,9] ---6與0比較---6大---6與0交換位置---[2,0,6,9]

3- 第三個較大值---2

1- [2,0,6,9] ---2與0比較---2大---2與0交換位置---[0,2,6,9]'''

for i in range(0,len(alist)-1): #i代表每一輪的比較

#i=0,j=4-1-i=0,1,2 i=1,j=4-1-i=0,1 i=2,j=4-1-i=0

for j in range(0,len(alist)-1-i): #j表示每一輪要遍歷的元素

if alist[j]

> alist[j+1]:

alist[j],alist[j+1]

= alist[j+1],alist[j]

print(alist)

氣泡排序演算法的優化:

Python 列表生成式

列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。舉個例子,要生成list 1,2,3,4,5,6,7,8,9,10 可以用list range 1,11 list range 1,11 1,2,3,4,5,6,7,8,9,10 但...

python列表生成式

全都是重點!列表生成式即listcomprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。舉個例子,要生成list 1,2,3,4,5,6,7,8,9,10 可以用range 1,11 range 1,11 1,2,3,4,5,6,7,8,9,10 但如果要生成...

python列表生成式

全都是重點!列表生成式即listcomprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。舉個例子,要生成list 1,2,3,4,5,6,7,8,9,10 可以用range 1,11 range 1,11 1,2,3,4,5,6,7,8,9,10 但如果要生成...