Python:如何将循环生成的子列表作为元素合并为大列表
实现将每行分割后的列表合并为大列表
嘿,这个需求其实很简单,核心就是初始化一个空的大列表,然后把循环里生成的每个小列表逐个加进去就行。我给你具体的实现步骤和代码示例:
基础实现方案
首先,先声明一个空的大列表,之后在你的循环里,每次把分割得到的words列表用append()方法添加到大列表里就搞定了。代码如下:
# 假设f是你的目标字符串,比如包含多行内容 f = "1 2 3\n4 5 6\n7 8 9" # 初始化空的大列表 sum_list = [] # 遍历每一行并处理 for line in f.split('\n'): words = line.split() # 将当前行的小列表加入大列表 sum_list.append(words) print(sum_list) # 输出结果:[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
优化:过滤空白行
如果你的字符串里可能存在空白行(比如连续换行),line.split()会得到空列表,要是不想把这些空列表放进大列表,可以加个判断条件:
sum_list = [] for line in f.split('\n'): words = line.split() # 只添加非空的小列表 if words: sum_list.append(words)
更简洁的写法(列表推导式)
如果你喜欢更简洁的代码,用Python的列表推导式一行就能搞定,效果和上面的循环完全一样:
f = "1 2 3\n4 5 6\n7 8 9" sum_list = [line.split() for line in f.split('\n') if line.split()] # 同样输出:[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
这样不管你是用循环还是列表推导式,都能得到你想要的嵌套大列表啦~
内容的提问来源于stack exchange,提问作者tgtrmr
相关产品推荐
相关产品推荐

