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

Python如何输入二维列表并打印其中每个独立的子列表

问题解决方案

原有代码问题分析

  • input()返回的是字符串类型,你没有将其转换为Python可识别的二维列表结构,直接追加到列表后,alist中只有1个字符串元素,遍历只会一次性打印全部内容。

修改后代码

基础版本(安全转换,输入需符合Python列表字面量规范)

import ast

# 读取用户输入
user_input = input("Enter 2D list = ")
# 将输入字符串转换为真实二维列表,ast.literal_eval比eval更安全,仅支持字面量转换
alist = ast.literal_eval(user_input)

# 遍历每个子列表打印
for row in alist:
    print(row)

适配无引号输出的版本(匹配你给出的示例输出格式)

如果需要输出[a,b]这类不带元素引号的效果,调整打印语句即可:

import ast

user_input = input("Enter 2D list = ")
alist = ast.literal_eval(user_input)

for row in alist:
    # 将子列表元素转为字符串后拼接,实现无引号输出效果
    print(f"[{','.join(map(str, row))}]")

输入规范说明

  • 输入的二维列表需要符合Python语法规范,比如字符串类型的元素需要包裹引号,例如正确输入格式为:[["a","b"],["c","d"],["e"],["f","g"]]
  • 如果a、b等是你代码中已经提前定义好的变量,可以把ast.literal_eval替换为eval(注意eval存在安全风险,仅在你完全信任输入内容时使用)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:15:01