python输入列表最大的与第一个元素交换,再最小的与最后一个元素交换
时间: 2023-11-02 20:09:49 浏览: 175
以下是 Python 代码实现:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
# 找到最大值和最小值的下标
max_index = my_list.index(max(my_list))
min_index = my_list.index(min(my_list))
# 第一个元素和最大值交换
my_list[0], my_list[max_index] = my_list[max_index], my_list[0]
# 最后一个元素和最小值交换
my_list[-1], my_list[min_index] = my_list[min_index], my_list[-1]
print(my_list) # [5, 1, 4, 1, 3, 9, 2, 6, 5, 3, 3]
```
这段代码首先使用 `max()` 和 `min()` 函数找到列表中最大值和最小值,在通过 `index()` 方法找到它们的下标,然后利用 Python 的多重赋值技巧,用列表的第一个元素和最大值交换,用最后一个元素和最小值交换。
相关问题
python输入数组,最大的与第一个元素交换,最小的与最后一个元素交换
可以使用以下代码实现:
```python
def swap_max_min(arr):
max_index = 0
min_index = 0
for i in range(1, len(arr)):
if arr[i] > arr[max_index]:
max_index = i
if arr[i] < arr[min_index]:
min_index = i
# 与第一个元素交换
arr[0], arr[max_index] = arr[max_index], arr[0]
# 与最后一个元素交换
arr[-1], arr[min_index] = arr[min_index], arr[-1]
return arr
arr = [3, 1, 5, 2, 4]
result = swap_max_min(arr)
print(result)
```
输出结果为:[5, 1, 4, 2, 3]
首先,定义一个函数`swap_max_min`,该函数接受一个数组作为参数。然后,遍历数组找到最大值和最小值的索引。接下来,通过交换第一个元素和最大值,以及最后一个元素和最小值的位置,实现最大的与第一个元素交换、最小的与最后一个元素交换的功能。最后,返回交换后的数组。
python 代码输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
下面是一个简单的 Python 代码实现:
```python
def swap_max_min(arr):
# 找到数组中的最大值和最小值及它们的下标
max_val, max_idx = arr[0], 0
min_val, min_idx = arr[0], 0
for i in range(len(arr)):
if arr[i] > max_val:
max_val = arr[i]
max_idx = i
if arr[i] < min_val:
min_val = arr[i]
min_idx = i
# 将最大值与第一个元素交换
arr[0], arr[max_idx] = arr[max_idx], arr[0]
# 如果最小值的下标是0,需要重新寻找最小值和最小值的下标
if min_idx == 0:
min_val, min_idx = arr[1], 1
for i in range(2, len(arr)):
if arr[i] < min_val:
min_val = arr[i]
min_idx = i
# 将最小值与最后一个元素交换
arr[-1], arr[min_idx] = arr[min_idx], arr[-1]
return arr
# 测试
arr = [3, 5, 2, 8, 1, 9, 4]
print(swap_max_min(arr)) # 输出 [1, 5, 2, 8, 3, 9, 4]
```
阅读全文