相关文章推荐
完美的莴苣  ·  Enforce HTTPS in ...·  9 月前    · 
空虚的葡萄酒  ·  python ...·  11 月前    · 
孤独的煎鸡蛋  ·  RE2 语法 - Azure ...·  1 年前    · 

封装一个函数,传入一个数组和两个的坐标(验证坐标必须是传入数组的范围),交换两项数据的位置。

74浏览 · 2024-05-06 17:15:16
可以使用以下[代码](https://geek.csdn.net/educolumn/1572ef9b473b4e00f6b2bf6d428b7c27?spm=1055.2569.3001.10083)实现该[函数](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083): ```python def swap_items(arr, idx1, idx2): 交换数组中两个位置的数据项 :param arr: 数组 :param idx1: 第一个数据项的[索引](https://geek.csdn.net/educolumn/1b7b4ecdd00b3a98e3772a91924cbd81?spm=1055.2569.3001.10083) :param idx2: 第二个数据项的[索引](https://geek.csdn.net/educolumn/1b7b4ecdd00b3a98e3772a91924cbd81?spm=1055.2569.3001.10083) :return: 交换后的数组 # [验证](https://geek.csdn.net/educolumn/0330ae9ce73d0920177833b396480304?spm=1055.2569.3001.10083)坐标是否在数组范围内 if idx1 < 0 or idx1 >= len(arr) or idx2 < 0 or idx2 >= len(arr): raise ValueError("坐标不在数组范围内") # 交换数据项 arr[idx1], arr[idx2] = arr[idx2], arr[idx1] return arr 使用示例: ```python arr = [1, 2, 3, 4, 5] print(swap_items(arr, 1, 3)) # [1, 4, 3, 2, 5] ```
相关问题
以下是一个实现交换数组中两个位置的函数: ```js function swapArrayItems(arr, index1, index2) { // 验证坐标是否在数组范围内 if (index1 < 0 || index1 >= arr.length || index2 < 0 || index2 >= arr.length) { throw new Error('Index out of range'); // 交换两个位置的数据 const temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; return arr; ```