Python如何优雅实现列表首尾指定范围元素的提取拼接
实现方案
你需要的效果可以直接通过列表切片拼接实现,语法非常简洁:a[-2:] + a[:2]
修改后的完整可运行代码如下:
mylist1 = [11,4,5,6,8,6,3] for i in mylist1: a = list(range(i)) print(a) print(a[-2:] + a[:2])
逻辑说明
a[-2:]:从列表倒数第二个元素开始截取到列表末尾,自动获取最后2个元素a[:2]:从列表开头截取到索引为2的元素前(不包含索引2),自动获取开头前2个元素- Python列表支持直接用
+运算符拼接两个子列表,不需要手动逐个写索引,代码可读性更强,也兼容所有长度≥2的列表场景。 - 你之前手写的写法多引入了
a[2],和你给出的预期4元素输出不符,切片拼接写法刚好匹配你要的输出效果。
内容的提问来源于stack exchange,提问作者Wiley Ng
相关产品推荐
相关产品推荐

