如何将混合列表中的字符串元素追加至其前一个列表元素?
解决方案
可以直接通过遍历原列表的方式处理,逻辑清晰且高效,不需要借助DataFrame:
data = [['way','say','may','lay'], 'wake', ['hay','pay','yay'], 'lake', ['tay'], 'shake'] out = [] for item in data: if isinstance(item, list): # 遇到列表元素,先加入结果列表 out.append(item.copy()) # 用copy避免修改原列表 else: # 遇到字符串,追加到结果最后一个列表中 out[-1].append(item) print(out)
代码说明
- 初始化空列表
out存储最终结果 - 遍历
data中的每个元素:- 如果是列表类型,复制一份加入
out(若无需保留原列表,也可直接out.append(item)) - 如果是字符串,直接追加到
out的最后一个列表元素里
- 如果是列表类型,复制一份加入
- 执行后得到的结果就是你需要的输出:
[['way','say','may','lay','wake'], ['hay','pay','yay','lake'], ['tay', 'shake']]
为什么不用DataFrame?
你的原数据是列表和字符串的混合结构,DataFrame更适合处理规整的表格型数据,用它来处理这种混合结构反而会增加复杂度,不如直接遍历的方式直观高效。
内容的提问来源于stack exchange,提问作者user22391597
相关产品推荐
相关产品推荐

