Python如何将多个列表切片结果合并为一维列表(不支持*解包)
解决方法
你现有代码输出嵌套列表,是因为直接将两个切片子列表作为元素存入了新列表,没有做拼接操作。
不使用*符号的前提下,直接用列表原生支持的+运算符拼接两个切片即可,该语法全版本Python通用,无版本兼容问题。
修正后代码:
A = ["asd", "jkl", "qwe"] A[1:3] + A[0:1]
运行后即可得到目标输出:
['jkl', 'qwe', 'asd']
实现原理
- 列表切片
A[start:end]遵循左闭右开规则,会返回包含对应范围元素的新列表:A[1:3]得到['jkl','qwe'],A[0:1]得到['asd'] - 列表的
+运算符会按顺序合并两个列表的元素,生成单层的新列表,不会产生嵌套结构,全程不需要使用*解包语法,适配你的运行环境要求。
内容的提问来源于stack exchange,提问作者berala
相关产品推荐
相关产品推荐

