Python小練習之使用for循環對列表內元素進行排序

list = [13, 22, 6, 99, 11]
for m in range(len(list)-1):
    for n in range(m+1, len(list)):
        if list[m]> list[n]:
            temp = list[n]
            list[n] = list[m]
            list[m] = temp
print list

結果:

[6, 11, 13, 22, 99]


分析:

list = [13, 22, 6, 99, 11]
for i in range(len(list)-1):
    for j in range (i+1,len(list)):
#        print str(i)
#        print "init--" + str(j)
        print '本次進行比較的list下標值' + str(i),str(j)
        if list[i] > list[j]:
#            print i,j
#            print '-----' + str(list[i]) + str(list[j]) + '-------'
            T = list[j]
            list[j]= list[i]
            list[i]=T
#            print T 
#            print list[i],list[j]
            print '********內部的一次循環***************'
        print list 
    print  list
    print '++++++++本次內部循環結束+++++++\n\n'

--從打印信息可以看出循環過程--

結果:

本次進行比較的list下標值0 1
[13, 22, 6, 99, 11]
本次進行比較的list下標值0 2
********內部的一次循環***************
[6, 22, 13, 99, 11]
本次進行比較的list下標值0 3
[6, 22, 13, 99, 11]
本次進行比較的list下標值0 4
[6, 22, 13, 99, 11]
[6, 22, 13, 99, 11]
++++++++本次內部循環結束+++++++


本次進行比較的list下標值1 2
********內部的一次循環***************
[6, 13, 22, 99, 11]
本次進行比較的list下標值1 3
[6, 13, 22, 99, 11]
本次進行比較的list下標值1 4
********內部的一次循環***************
[6, 11, 22, 99, 13]
[6, 11, 22, 99, 13]
++++++++本次內部循環結束+++++++


本次進行比較的list下標值2 3
[6, 11, 22, 99, 13]
本次進行比較的list下標值2 4
********內部的一次循環***************
[6, 11, 13, 99, 22]
[6, 11, 13, 99, 22]
++++++++本次內部循環結束+++++++


本次進行比較的list下標值3 4
********內部的一次循環***************
[6, 11, 13, 22, 99]
[6, 11, 13, 22, 99]
++++++++本次內部循環結束+++++++





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章