编写一个能返回传入列表中最大和第二大元素的值的函数1.列表操作,2.循环语句,3.if条件语句。
时间: 2024-10-14 08:08:21 浏览: 26
c代码-请编写函数sum,其功能是:用for循环语句求1到n之间所有偶数之和(若n为偶数包括n), 并将结果返回给主函数。(n值由主函数传入)
编写这样一个函数可以采用以下步骤:
1. **列表操作**:
首先,你可以使用Python内置的`sorted()`函数结合切片来获取列表的最大值和次大值。因为`sorted()`会返回一个新的排序后的列表,所以第二个元素就是次大的元素。
```python
def max_two_elements(lst):
return sorted(lst, reverse=True)[:2]
```
2. **循环语句**:
如果不想依赖内置函数,可以用两个变量分别记录最大值和次大值,并遍历整个列表。
```python
def max_two_elements_loop(lst):
max_val = lst[0]
second_max = float('-inf')
for num in lst:
if num > max_val:
second_max = max_val
max_val = num
elif num > second_max and num != max_val:
second_max = num
return max_val, second_max
```
3. **if条件语句**:
同样遍历列表,每次比较当前元素与已知的最大值和次大值,然后更新它们。
```python
def max_two_elements_if(lst):
max_val = lst[0]
second_max = None
for num in lst:
if num > max_val:
second_max = max_val
max_val = num
elif second_max is None or num > second_max:
second_max = num
return max_val, second_max if second_max is not None else 'No second max'
```
阅读全文