代码示例:
def sort_by_digits(numbers): numbers = [str(num) for num in numbers] sorted_numbers = sorted(numbers, key=lambda x: (len(x), int(x))) return [int(num) for num in sorted_numbers]
print(sort_by_digits([12, 2, 3, 45, 567, 89])) # 输出 [2, 3, 12, 45, 89, 567]
代码示例:
def compare(x, y): if len(str(x)) != len(str(y)): return len(str(x)) - len(str(y)) else: return x - y
def sort_by_digits(numbers): return sorted(numbers, key=lambda x: compare(x, x))
print(sort_by_digits([12, 2, 3, 45, 567, 89])) # 输出 [2, 3, 12, 45, 89, 567]
下一篇:按数字为数据框中的列进行命名