利用 for 循环给列表 ls = [1,7,4,89,34,2,100,0] 从小到大排序,==>冒泡排序法
思路:先取列表的第一个数字,依次跟后面的数字比较大小,如果第一个数字比后面的大,则交换位置。
利用下标来取值,第一个数字a依次从 第一位取到倒数第一位(把最后一位留给第二个数字b来取,好做比较)
第二个数字b依次从第二位取到最后一位。以此类推,当把列表中数字取完,结果就出来了。
a = [1, 7, 4, 89, 34, 2, 100, 0]
for i in range(0, len(a)-1):
for j in range(i+1, len(a)):
if a[i] > a[j]:
a[i], a[j] = a[j], a[i]
print(a)
此外楼主还想出一个损招:
在整个列表的值域之间range,如果range的结果在列表里面,就将该值添加到新列表。由于range是从小到大排序的,所以得到的新列表就是排序后的结果。
a = [1, 7, 4, 89, 34, 2, 100, 0, 2, 22, 56]
b = []
for i in range(min(a), max(a)+1):
for j in a:
if i == j:
b.append(j)
print(b)
最后还有一种,利用max min函数
a = [1, 7, 4, 89, 34, 2, 100, 0, 2, 22, 56]
c = len(a)
b = []
while len(b) < c:
for i in a:
if i == min(a):
b.append(i)
a.remove(i)
print(b)