--- 数字拼接 --- 有 n 个非负整数,将其按照字符串拼接的方式,拼接为一个整数 如果拼接可以使得到的整数最大? 例:32, 94, 128, 1286, 6, 71 可以拼接出的最大整数为 94716321286128
from functools import cmp_to_key
li = [32, 94, 128, 1286, 6, 71]
def xy_cmp(x, y):
# x 小的话,return 1:需要交换
if x + y < y + x:
return 1
elif x + y > y + x:
return -1
else:
return 0
def number_join(li):
"""数字拼接"""
li = list(map(str, li))
li.sort(key=cmp_to_key(xy_cmp))
return ''.join(li)