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

Python实现为嵌套列表的每个元素添加前后空格

给嵌套列表的每个元素前后添加空格

你的目标是保留嵌套列表的原有结构,同时给每个元素的前后都加上空格。你当前的代码把二维嵌套列表展平成了一维列表,所以需要调整处理逻辑来维持层级结构。

方法一:嵌套列表推导式(最简洁)

直接在原嵌套结构的基础上,逐层处理每个元素:

data = [["hello", "world"], ["python", "is", "cool"]]
data_new = [[' {0} '.format(word) for word in elem] for elem in data]
print(data_new)
# 输出: [[" hello ", " world "], [" python ", " is ", " cool "]]

也可以用更简洁的f-string写法,效果完全一致:

data_new = [[f' {word} ' for word in elem] for elem in data]

方法二:嵌套循环(更直观)

如果觉得列表推导式不够清晰,用嵌套循环逐个处理元素也能达到目的:

data = [["hello", "world"], ["python", "is", "cool"]]
data_new = []
for sub_list in data:
    processed_sub = []
    for word in sub_list:
        processed_sub.append(f' {word} ')
    data_new.append(processed_sub)
print(data_new)
# 输出符合预期的嵌套结构

原有代码的问题说明

你写的[' {0} '.format(word) for elem in data_new2 for word in elem]是展平式列表推导,它会把所有子列表里的元素合并到一个一维列表中,直接丢失了原有的嵌套层级。而嵌套列表推导式[[处理逻辑 for 元素 in 子列表] for 子列表 in 原列表]能完整保留原有的二维结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:15:32