Python追加多个列表后逐行打印时初始列表元素拆分如何解决?
问题原因
你当前的写法是将b、c、d三个列表作为独立元素追加到了原有的a列表末尾,而原本的a列表存储的是3个独立元组,最终a的结构为[元组1, 元组2, 元组3, 列表b, 列表c, 列表d],遍历打印时自然会先输出3个单独的元组。
解决方法
你需要将原本的a作为一个整体子列表,和b、c、d共同组成一个新的嵌套列表,再遍历打印即可,推荐两种实现方式:
方案1:直接构建包含所有子列表的容器(更简洁)
a = [(4, 'Blue'), (3, 'Red'), (4, 'Red')] b = [(2, 'Green'), (4, 'Green'), (1, 'Yellow')] c = [(1, 'Green'), (3, 'Blue'), (3, 'Green')] d = [(2, 'Blue'), (1, 'Red'), (4, 'Yellow')] # 新建嵌套列表,所有目标列表作为独立子元素 all_lists = [a, b, c, d] for x in all_lists: print(x)
方案2:调整原有a的结构后追加
如果你需要保留向a追加的逻辑,可以把初始的a先套一层列表,再追加b、c、d:
# 初始a就作为嵌套列表的第一个子元素 a = [[(4, 'Blue'), (3, 'Red'), (4, 'Red')]] b = [(2, 'Green'), (4, 'Green'), (1, 'Yellow')] c = [(1, 'Green'), (3, 'Blue'), (3, 'Green')] d = [(2, 'Blue'), (1, 'Red'), (4, 'Yellow')] a.append(b) a.append(c) a.append(d) for x in a: print(x)
两种方案的输出都和你预期的结果完全一致。
内容的提问来源于stack exchange,提问作者Tamaron
相关产品推荐
相关产品推荐

