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

如何将Python字典的键与值拼接后按键分组存入子列表?

解决Python字典键值拼接并按键拆分到子列表的问题

嘿,我看你已经搞定了键和值的字符串拼接,但卡在了按原字典的键把结果拆分成对应子列表这一步——没问题,咱们调整下代码就能解决。

先梳理下你的现状:
你的目标字典:

dict = {'v1':[1, 2, 3], 'v2': [1, 2, 3, 4]}

当前代码输出的是扁平列表:['v1_1', 'v1_2', 'v1_3', 'v2_1', 'v2_2', 'v2_3', 'v2_4'],而你想要的是按原键分组的嵌套列表:[['v1_1', 'v1_2', 'v1_3'], ['v2_1', 'v2_2', 'v2_3', 'v2_4']]

核心问题是你现在把所有拼接结果直接塞进了同一个大列表,没给每个键单独创建子列表。咱们修改下代码:

my_dict = {'v1':[1, 2, 3], 'v2': [1, 2, 3, 4]}  # 别用dict当变量名,它是Python内置类型
concat = []
for key in my_dict.keys():
    sub_list = []  # 每个键对应一个独立子列表,每次循环新建
    vals = my_dict[key]
    for v in vals:
        sub_list.append(str(key + '_' + str(v)))
    concat.append(sub_list)  # 把当前键的子列表加入最终结果

运行这段代码后,concat就会是你期望的嵌套列表啦!

简单说下改动逻辑:

  • 为每个键单独初始化sub_list,专门存储该键对应的所有拼接结果
  • 把原来直接往concat加元素的操作,改成先填充sub_list,处理完当前键的所有值后,再把整个sub_list加入concat
  • 额外提一句:尽量别用dict做变量名,它是Python的内置字典类型,容易引发不必要的冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:24:05