列表生成式語法:
列表生成式的缺點: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 但如果要生成...