首页 > 解决方案 > 如何按列表的长度重复列表中的最大元素

问题描述

编写一个名为 all_change_to_max_end 的 Python 函数,该函数将整数列表作为输入,确定列表中的第一个或最后一个元素哪个更大,然后将所有其他元素设置为该值。输出更改后的列表。

示例输入和输出:

all_change_to_max_end([1, 2, 4, 9, 3]) # should be [3, 3, 3, 3, 3] 

all_change_to_max_end([11, 5, 9])      # should be [11, 11, 11] 

all_change_to_max_end([2, 11])         # should be [11, 11]

我试过使用:

def all_change_to_max_end(a_list):

    return max(a_list) * len(a_list)

但这不起作用,因为它将最大数字乘以总长度

all_change_to_max_end([2, 10, 4, 8]

40

任何帮助将不胜感激!

标签: pythonlist

解决方案


您需要检查这两个元素的最大值(第一个和最后一个)

def all_change_to_max_end(a_list):
    return [max(a_list[0], a_list[-1])] * len(a_list)

推荐阅读