能否从字符串生成多维列表?新手编程问题求解
问题排查与修复
原有代码问题
- 外层循环遍历整个字符串的总长度,会生成远多于预期的3个子列表的冗余内容
- 内层循环直接遍历原始全字符串,没有按行拆分,还会把换行符等无效字符加入子列表,不符合需求。
修复后代码
def making_dimensional_list(string): a = [] # 按换行拆分多行字符串,逐行处理 for line in string.splitlines(): # 将单行字符串转为单个字符组成的列表,加入结果 a.append(list(line)) return a print(making_dimensional_list("""ABC BCA CAB"""))
运行上述代码输出结果为 [['A', 'B', 'C'], ['B', 'C', 'A'], ['C', 'A', 'B']],完全匹配你需要的多维列表结构。如果仅需要显示时去掉元素的引号,调整打印格式即可,核心数据结构已经符合要求。
splitlines() 是Python内置的字符串处理方法,可自动识别适配不同系统的换行符,兼容性优于手动按\n拆分的方案。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

