#coding:utf-8
#sort

#データの用意
import random

data = []
for i in range(10):
    data.append(random.randint(1,50))
print(data)   

bsdata = data.copy()
print(bsdata) 
n = len(bsdata)

#番兵付きバブルソート
flag = 0
for i in range(n):
    flag = 0
    for j in range(n-1, i, -1):
        if bsdata[j] < bsdata[j-1]:
            '''
            temp = bsdata[j]
            bsdata[j] = bsdata[j-1]
            bsdata[j-1] = temp
            '''
            flag = 1
            #python swap
            bsdata[j], bsdata[j-1] = bsdata[j-1], bsdata[j]
    if flag == 0:
        print(i)
        break
            
            
print("バブルソート",bsdata)

#python built-in
bidata = data.copy()
bidata.sort()
print("昇順ソート",bidata)

dedata = data.copy()
dedata.sort(reverse=True)
print("昇順ソート",dedata)        

#文字列ソート
list1 = ["apple","banana","grape","orange","mango"] 
print(list1)

list2 = list1.copy()  
list2.sort()
print(list2) 


#文字列ソート
def myfunc(e):
 return len(e)

list3 = list1.copy()
list3.sort(key=myfunc)
print(list3)

実行結果