小编NIM*_*IMI的帖子

将特定数字(无排序)移至列表左侧

我只想将零向左移动并且不想对列表进行排序。

例如,如果我的列表是这样的:

nums = [1, 10, 20, 0, 59, 63, 0, 8, 0]
Run Code Online (Sandbox Code Playgroud)

这是将所有零向左移动后我想要的输出:

output = [0, 0, 0, 1, 10, 20, 59, 63, 8]
Run Code Online (Sandbox Code Playgroud)

这是我试过的代码:

class Solution:
    def moveZeroes(self, nums):
        c = 0
        for i in range(len(nums)):
            if nums[i] != 0:
                nums[i], nums[c] = nums[c], nums[i]
                c += 1
        return nums
print(Solution().moveZeroes(nums))

Run Code Online (Sandbox Code Playgroud)

这段代码给了我输出:

 [1, 10, 20, 59, 63, 8, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)

但我想要的输出是:

[0, 0, 0, 1, 10, 20, 59, 63, 8]
Run Code Online (Sandbox Code Playgroud)

python list

6
推荐指数
2
解决办法
107
查看次数

标签 统计

list ×1

python ×1