Python WHILE循环,难以理解

时间:2019-07-07 04:59:41

标签: python python-3.x list

我只想从最小到最大重新排列列表

mylist = [4,7,5,1,8,2,3]
result = []

while len(result) != len(mylist):

    for num in mylist:
        if num in result:
            continue
        if num == min(mylist):
            result.append(num)
            continue
    break

print(result)

result = [1,2,3,4,5,6,7,8]

2 个答案:

答案 0 :(得分:0)

min中有项目的情况下,只需使用mylist函数即可获得列表中最小的数字:

mylist = [4,7,5,1,8,2,3] 
result = []

while len(mylist) > 0:
    minNum = min(mylist)
    result.append(minNum)
    mylist.remove(minNum)

print(result)

输出:

[1, 2, 3, 4, 5, 6, 7, 8]

或者,只需复制result的{​​{1}},然后对其进行排序:

mylist

输出:

mylist = [4,7,5,1,8,2,3] 
result = mylist
result.sort()

print(result)

答案 1 :(得分:0)

找到最低数量并将其添加到新列表后,还需要将其从原始列表或副本中删除。

否则,min函数将始终返回1。

您可以更改while循环中的条件以继续进行,直到从我的列表中删除所有项目为止。