用python写输入一个数组将其中的最大值与数组的第一个元素交换将最小值与数组的最后一个元素交换,最后输出数组
时间: 2023-06-13 08:07:13 浏览: 52
可以使用以下代码实现:
```python
def swap(arr):
# 找到最大值和最小值的索引
max_index = arr.index(max(arr))
min_index = arr.index(min(arr))
# 交换最大值和第一个元素
arr[0], arr[max_index] = arr[max_index], arr[0]
# 交换最小值和最后一个元素
arr[-1], arr[min_index] = arr[min_index], arr[-1]
return arr
# 示例
arr = [3, 5, 2, 8, 1, 9, 4, 6, 7]
new_arr = swap(arr)
print(new_arr) # 输出 [1, 5, 2, 8, 7, 9, 4, 6, 3]
```
我们定义了一个函数 `swap`,接受一个数组作为参数。在函数内部,我们使用 `index` 方法找到最大值和最小值的索引,然后交换他们与第一个元素和最后一个元素。最后返回交换后的数组。
相关问题
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]
```