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

如何将Python扁平化列表按规则合并为子列表长度不等的嵌套列表

Python扁平化列表转嵌套列表实现方法

实现思路

直接遍历原始列表,按规则处理即可:

  • 遇到值为'None'的元素时,直接将其作为单独子列表加入结果
  • 其余情况每次取连续4个元素,拼接为单个字符串后封装为子列表加入结果

实现代码

# 原始列表
l = ['1 bd', '1 ba', '565 sqft', '- Apartment for rent', '2 bds', '1 ba', '1,200 sqft', '- Apartment for rent', 'None', '2 bds', '1 ba', '-- sqft', '- Apartment for rent', '1 bd', '1 ba', '382 sqft', '- Apartment for rent', 'None', '1 bd', '1 ba', '615 sqft', '- Apartment for rent', '1 bd', '1 ba', '478 sqft', '- Apartment for rent', '1 bd', '1 ba', '529 sqft', '- Apartment for rent']

res = []
n = len(l)
i = 0
while i < n:
    if l[i] == 'None':
        res.append(['None'])
        i += 1
    else:
        # 分隔符可按需调整,这里用逗号加空格和示例保持一致
        merged_item = ', '.join(l[i:i+4])
        res.append([merged_item])
        i += 4

# 打印结果验证
print(res)

输出结果

运行后输出和预期完全匹配:

[['1 bd, 1 ba, 565 sqft, - Apartment for rent'], ['2 bds, 1 ba, 1,200 sqft, - Apartment for rent'], ['None'], ['2 bds, 1 ba, -- sqft, - Apartment for rent'], ['1 bd, 1 ba, 382 sqft, - Apartment for rent'], ['None'], ['1 bd, 1 ba, 615 sqft, - Apartment for rent'], ['1 bd, 1 ba, 478 sqft, - Apartment for rent'], ['1 bd, 1 ba, 529 sqft, - Apartment for rent']]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:15:03