You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表推导式为何生成嵌套列表?如何用其生成普通列表?

两类列表的差异原因

str.split()方法本身就会返回按分隔符分割后的一维字符串列表:

  • 第一行代码list45 = [input("first line: ").split()]中,你把split()返回的列表外层又额外套了一层[],相当于给原列表新增了一层父级容器,最终得到的就是嵌套列表。
  • 第二部分代码中,你直接将split()返回的列表赋值给list46,没有额外增加外层列表,最终得到的就是普通一维列表。

列表推导式生成普通列表的方法

你只需要通过列表推导式遍历split()返回的每一个元素,逐个存入新列表即可,写法如下:

list45 = [item for item in input("first line: ").split()]

修改后输入my first line,list45的输出结果就是['my', 'first', 'line'],和list46的结构完全一致。

内容的提问来源于stack exchange,提问作者Ionut Hanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:54:01