用函数编程实现两个数组中对应元素值的交换。 **输入格式要求:"%d" 提示信息:"Input array size(n<=10):" "Input array a:" "Input array b:" **输出格式要求:"Output array a:" "Output array b:" "%5d" 程序运行示例如下:
时间: 2023-07-06 09:40:01 浏览: 145
好的,我来给您写一个函数式编程的实现:
```python
def swap(arr1, arr2):
return (arr2, arr1)
n = int(input("Input array size(n<=10):"))
print("Input array a:")
a = list(map(int, input().split()))
print("Input array b:")
b = list(map(int, input().split()))
# zip函数将两个数组按照对应元素组合成一个新的元组,并将这些元组组成一个新的迭代器
# 然后利用map函数将每个元组传递给swap函数,最终得到一个新的迭代器
# 最后再利用zip函数将这个新的迭代器中的元素解包并组成两个新的数组
a, b = zip(*map(swap, zip(a, b)))
print("Output array a:")
print(*a, sep=" ")
print("Output array b:")
print(*b, sep=" ")
```
这个程序中,我们使用了 `zip`、`map` 和 `zip` 函数来实现两个数组中对应元素值的交换。首先我们将两个数组 `a` 和 `b` 使用 `zip` 函数组合成一个新的迭代器,然后将这个迭代器中的每个元组传递给 `swap` 函数,得到一个新的迭代器。这个新的迭代器中的元素是由 `swap` 函数返回的元组,其中第一个元素是 `arr2`,第二个元素是 `arr1`,即交换了两个数组中对应元素的值。最后我们再使用 `zip` 函数将这个新的迭代器中的元素解包并组成两个新的数组 `a` 和 `b`,分别对应交换后的两个数组。
阅读全文