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

如何按指定关键词将列表拆分为嵌套列表?附示例说明

如何按指定关键词分组生成嵌套列表?

嘿,这事儿其实挺简单的,咱们可以通过关键词匹配+列表处理来实现需求。核心思路就是:针对每个指定的关键词,从原始列表里筛选出以该关键词开头的元素,把这些元素打包成子列表,最后把所有子列表整合起来就是目标的嵌套列表了。

先看最简洁的实现方式,用列表推导式一步到位:

# 原始数据列表
original_list = ['WBS1','WBS2','WAY1','WAY3','WBR1']
# 将关键词统一放到一个列表,方便批量处理
target_keywords = ['WBS', 'WAY', 'WBR']

# 生成嵌套列表:外层遍历关键词,内层筛选匹配元素
nested_list = [[item for item in original_list if item.startswith(key)] for key in target_keywords]

print(nested_list)

运行这段代码后,输出结果是:[['WBS1', 'WBS2'], ['WAY1', 'WAY3'], ['WBR1']]

这里提个小细节:你期望的嵌套列表里WAY组包含WAY2,但原始列表里并没有这个元素,所以实际结果里是['WAY1','WAY3'],如果是笔误的话,调整原始列表或者期望结果就可以啦。

要是你觉得列表推导式有点抽象,也可以用普通循环来写,逻辑完全一致,更直观:

original_list = ['WBS1','WBS2','WAY1','WAY3','WBR1']
target_keywords = ['WBS', 'WAY', 'WBR']
nested_list = []

# 遍历每个关键词
for key in target_keywords:
    sub_list = []
    # 遍历原始列表,筛选匹配元素
    for item in original_list:
        if item.startswith(key):
            sub_list.append(item)
    # 将子列表加入嵌套列表
    nested_list.append(sub_list)

print(nested_list)

两种方式都能实现分组需求,列表推导式更简洁,普通循环可读性更强,根据你的习惯选就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 13:02:45