|
|
首先,需要明确一个问题:函数名不要使用 list,因为 list 是 Python 内置函数名,会造成冲突。建议用 swap_elements 或 swap_list。下面是一个最简洁的实现,利用 Python 的元组解包一次性完成交换:
- def swap_elements(lst, pos1, pos2):
- # 如果你希望检查索引是否越界,可以加一个判断,但这里保持最简
- lst[pos1], lst[pos2] = lst[pos2], lst[pos1]
复制代码
调用示例:
- my_list = [10, 20, 30, 40, 50]
- swap_elements(my_list, 1, 3)
- print(my_list) # 输出 [10, 40, 30, 20, 50]
复制代码
这个函数会直接修改原列表。如果你不想修改原列表,可以先复制再交换:
- def swap_elements_copy(lst, pos1, pos2):
- new_lst = lst[:] # 复制一份
- new_lst[pos1], new_lst[pos2] = new_lst[pos2], new_lst[pos1]
- return new_lst
复制代码
注意:传入的索引必须有效(0 到 len(lst)-1),如果超出范围会报 IndexError。新人的话,可以先不用检查,掌握基本交换后再考虑健壮性。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|