Python 3.x 如何在python中对数字进行分隔和排序?

Python 3.x 如何在python中对数字进行分隔和排序?,python-3.x,sorting,Python 3.x,Sorting,给定一个包含整数的变量,该变量中的数字0(零)是一个数字与另一个数字之间的分隔符。这些数字将按照数字本身中的数字进行分隔和排序。之后,排序中的数字将重新联接,而不与整数形式的输出分离。制作一个只接受一系列数字的参数的方法/函数,并产生如上所述的输出 def排序(nums): 对于范围(15)内的i: minpos=1 对于范围(i,6)内的j: 如果nums[j]

给定一个包含整数的变量,该变量中的数字0(零)是一个数字与另一个数字之间的分隔符。这些数字将按照数字本身中的数字进行分隔和排序。之后,排序中的数字将重新联接,而不与整数形式的输出分离。制作一个只接受一系列数字的参数的方法/函数,并产生如上所述的输出

def排序(nums):
对于范围(15)内的i:
minpos=1
对于范围(i,6)内的j:
如果nums[j]

输出应为55566914566956,但实际输出为[5,5,5,5,6,6,9,0,1,5,9,4,6,6,0,6]

您可以尝试以下功能:

def sort(nums):
    curr = []
    ret = ''
    for i in nums:
        if i == 0:
            ret += ''.join(map(str, sorted(curr)))
            curr = []
        else:
            curr.append(i)
    ret += ''.join(map(str, sorted(curr)))
    return ret

print(sort([5,9,5,6,5,6,0,1,5,9,4,6,6,0,5,6]))
印刷品:

55566914566956

您可以尝试以下功能:

def sort(nums):
    curr = []
    ret = ''
    for i in nums:
        if i == 0:
            ret += ''.join(map(str, sorted(curr)))
            curr = []
        else:
            curr.append(i)
    ret += ''.join(map(str, sorted(curr)))
    return ret

print(sort([5,9,5,6,5,6,0,1,5,9,4,6,6,0,5,6]))
印刷品:

55566914566956
最简单的方法是在列表中循环并创建一个子数组,直到找到一个“0”。此时,只需对子数组排序,将其附加到结果列表中,然后继续,直到输入字符串结束

最简单的方法是在列表中循环并创建一个子数组,直到找到一个“0”。此时,只需对子数组排序,将其附加到结果列表中,然后继续,直到输入字符串结束