作者:杨航锋
链接:https://www.zhihu.com/question/57470958/answer/153405326
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
![](https://images2018.cnblogs.com/blog/394875/201805/394875-20180511141838147-2119423978.png)
![](https://images2018.cnblogs.com/blog/394875/201805/394875-20180511141838703-1909027159.png)
![](https://images2018.cnblogs.com/blog/394875/201805/394875-20180511141839115-966942098.png)
![](https://images2018.cnblogs.com/blog/394875/201805/394875-20180511141840788-1528534760.png)
链接:https://www.zhihu.com/question/57470958/answer/153405326
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
对于列表形如list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]转化成列表list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]的问题。
- 一般方法
list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]list_2 = []for _ in list_1:list_2 += _print(list_2)
结果一截图:
![](https://images2018.cnblogs.com/blog/394875/201805/394875-20180511141838147-2119423978.png)
2. 更Pythonic的方法二,列表推导
list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]][i for k in list_1 for i in k]
结果二截图:
![](https://images2018.cnblogs.com/blog/394875/201805/394875-20180511141838703-1909027159.png)
3. 抽象用法(知道就好但不推荐哦)
list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]sum(list_1, [])
结果三截图:
![](https://images2018.cnblogs.com/blog/394875/201805/394875-20180511141839115-966942098.png)
解释下Python中sum函数的这种用法:
![](https://images2018.cnblogs.com/blog/394875/201805/394875-20180511141840788-1528534760.png)
如图所示,sum的第一个参数为可迭代对象即可,第二个参数默认为0,但是在上述代码中我改成了空列表,因此sum函数的功能变成[] + i i in iterable(也不知道这么解释看不看的懂哈哈)
分类:
python
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库