我想在列表中获取 max() 编号,然后将其弹出到另一个列表 (list1)。
x = [66,1,4,3,6,55]
list1 = []
for i in x:
x.pop(max(x))
#poped item saved to list1
print(list1)
Run Code Online (Sandbox Code Playgroud)
这是我的方法,但我收到错误“弹出索引超出范围”。我究竟做错了什么 ?而且我真的不知道如何进一步 pop() 一个项目并将其返回到一个空列表。结果应该是一个 list1 ,数字从高到低。请不要发布任何其他带有内置函数(如 sort())的算法。谢谢。
您需要提供要弹出的列表中最大元素的索引
x = [66,1,4,3,6,55]
list1 = [x.pop(x.index(max(x)))]
print(list1)
Run Code Online (Sandbox Code Playgroud)
输出
[66]
Run Code Online (Sandbox Code Playgroud)
来自评论的请求:
x = [66,1,4,3,6,55]
list1 = []
while x:
list1.append(x.pop(x.index(max(x))))
print(list1)
Run Code Online (Sandbox Code Playgroud)