Python列表编程任务:实现列表前后半部分元素互换功能
Python: Swap First Half and Second Half of a List
嘿,这个需求用Python的切片特性就能轻松搞定,超级简洁!我来给你一步步拆解实现方法:
核心思路
我们只需要找到列表的中间位置,把后半部分元素和前半部分元素拼接起来就行——不管列表长度是偶数还是奇数,这个方法都能适用。
完整代码实现
# 接收N个数字存入列表L n = int(input("请输入数字的个数N: ")) L = [int(input(f"请输入第{i+1}个数字: ")) for i in range(n)] # 计算中间位置 mid = len(L) // 2 # 互换前后半部分(原地修改列表) L[:] = L[mid:] + L[:mid] # 输出结果 print("互换后的列表:", L)
代码解释
- 接收输入:先用
input()获取数字个数N,再用列表推导式循环接收N个数字,转成整数后存入列表L。 - 找中间位置:用
len(L) // 2做整数除法,确保得到的是整数索引——比如列表长度为6时,mid=3;长度为5时,mid=2(后半部分会比前半部分多1个元素)。 - 互换操作:
L[mid:]取到列表从中间到末尾的后半部分,L[:mid]取到开头到中间的前半部分,把两者拼接后赋值给L[:],这样就能原地修改原列表(如果直接写L = ...会创建一个新列表,原列表不会被改变)。
示例验证
比如原列表L = [1,2,3,4,5,6],mid=3,L[mid:]是[4,5,6],L[:mid]是[1,2,3],拼接后就是[4,5,6,1,2,3],完美符合你的需求!
内容的提问来源于stack exchange,提问作者Darrin Bright
相关产品推荐
相关产品推荐

