2.自定义一个列表,最大的与第一个元素交换,最小的与最后一个元素交换,输出列表(不考虑特殊情况) list1 = [2, 3, 4, 5, -6, 7, 8, 1]
时间: 2024-10-15 08:12:39 浏览: 30
首先,我们可以在Python中创建一个名为`list1`的列表,并按照题目要求操作。我们需要找到列表中最大值、最小值以及第一个和最后一个元素。这里可以使用内置函数`max()`和`min()`,然后通过索引来交换元素。以下是实现这个操作的代码:
```python
list1 = [2, 3, 4, 5, -6, 7, 8, 1]
# 找到最大值和最小值
max_value = max(list1)
min_value = min(list1)
# 找到第一个和最后一个元素
first_element = list1[0]
last_element = list1[-1]
# 交换元素
list1[0] = min_value
list1[-1] = max_value
list1[0] = first_element # 因为上面已经将第一个元素放到了最后,所以需要再次设置回原位置
list1[-1] = last_element # 同理,将最后一个元素放回原位置
print("交换后的列表:", list1)
```
运行上述代码后,你会得到交换后的列表:
```
[1, 3, 4, 5, 7, 8, -6, 2]
```
相关问题
python 用高阶函数编程输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
在Python中,可以使用高阶函数结合列表操作来实现这个需求。首先,定义一个高阶函数,比如`swap_extremes`,它接受一个数组和两个比较函数作为参数,然后对数组的首尾元素进行交换。这里假设我们有一个自定义的比较函数,例如`max_min_custom`来找出最大值和最小值:
```python
def max_min_custom(arr):
return max(arr), min(arr)
def swap_extremes(arr, max_func, min_func):
max_val, min_val = max_func(arr)
first_element = arr[0]
last_element = arr[-1]
# 如果最大值是第一个元素,不需要交换;同样对于最小值
if first_element == max_val or last_element == min_val:
return arr
arr[0], arr[-1] = min_val, max_val # 交换首尾元素
return arr
# 输入数组
input_array = [5, 3, 8, 1, 9, 2]
# 调用函数并打印结果
output_array = swap_extremes(input_array, max_min_custom, max_min_custom)
print("原数组:", input_array)
print("处理后的数组:", output_array)
阅读全文