python练习:将一个列表中的元素组合成最大的数(列表中的元素全是整数)

python:将一个列表中的元素组合成最大的数(列表中的元素全是整数)

代码:

# 定义函数max_sort,求列表组合成最大数
def max_sort(lt):
    # 将列表的长度赋值给变量n
    n = len(lt)
    # 使用冒泡排序(其他算法也可以,看自己喜欢的来)
    # 外层循环控制比较的轮数
    for i in range(n-1):
        # 内层循环控制比较的次数,每轮会确定排在列表末尾的一个值
        for j in range(n-1-i):
        # 每次将列表相邻两个元素转换成字符串使用+号连接起来,然后互换位置连接起来,再比较大小
            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]
    # 当循环结束时,顺序已经排好,可以打印列表lt查看一下
    # 定义一个空字符串
    s = ''
    # 遍历排好序的列表
    for k in lt:
        # 将列表内的所有元素依次连接组合起来,返回时转换为数字类型
        s += str(k)
    return int(s)


lt = [1, 4, 6, 9, 45, 40, 4]
# 输出函数的返回值
print(max_sort(lt))

此方法只是众多方法中的一种,仅供参考使用。

你可能感兴趣的:(python,python,练习题,最大值,列表,组合)