Python 求一个列表中所有元素组合出的最大数

Posted little _apple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 求一个列表中所有元素组合出的最大数相关的知识,希望对你有一定的参考价值。

Python 求一个列表中所有元素组合出的最大数

实现方式1:list元素比较时候再转换数据类型

def max_lt(lt):
    n = len(lt)
    for i in range(n-1):
        for j in range(n-1-i):
            # 将list中int元素转换成string类型,通过ASCII码值的大小作为字符比较的标准
            if str(lt[j])+str(lt[j+1])<str(lt[j+1])+str(lt[j]):
                lt[j],lt[j+1] = lt[j+1],lt[j]
                print(lt)
        print(lt)
    s = ''
    for x in lt:
        s+=str(x)
    return int(s)

lt = [45,12,23,28]
print(max_lt(lt))

方式2:先将list中的int元素先转换成string

def max_lt(t):
    n = len(t)
    for i in range(n-1):
        for j in range(n-1-i):
            if t[j]+t[j+1]< t[j+1]+t[j]:
                t[j],t[j+1] = t[j+1],t[j]
                print(t)
    s = ''
    for x in t:
        s+=str(x)
    return int(s)

lt = [45,12,23,28]
lt2 = [str(i) for i in lt]
print(lt2)
print(max_lt(lt2))

以上是关于Python 求一个列表中所有元素组合出的最大数的主要内容,如果未能解决你的问题,请参考以下文章

python找出列表中最大值

python中编写一个模块,模块中包含随机生成N个元素的列表、排序列表、求最大

Python求解数组重新组合求最小值(优酷)

luogu2714 四元组统计 莫比乌斯反演 组合数

python怎么将列表中元素分配成三份(无需连续),列举出所有的方案?

求C语言二维数组元素排列组合?