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

如何简化生成含累积单词list的字典数组的Python代码?

简化方案

方案1:使用enumerate简化循环

原代码的内层循环属于冗余操作,我们可以直接通过enumerate获取每个数字在数组中的位置(从1开始计数),然后对单词列表进行切片得到累积列表:

list_ = ['a','b','c']
array_ = [5,6,7]

main_list = []
for idx, num in enumerate(array_, start=1):
    main_list.append({'number': num, 'letter_list:': list_[:idx]})

print(main_list)

方案2:列表推导式(最简洁)

利用Python的列表推导式可以把整个逻辑压缩为一行代码,可读性和简洁性兼顾:

list_ = ['a','b','c']
array_ = [5,6,7]

main_list = [{'number': num, 'letter_list:': list_[:idx]} for idx, num in enumerate(array_, start=1)]

print(main_list)

原代码冗余点说明

  1. 手动维护count_x计数器完全没必要,enumerate可以直接返回带起始值的索引;
  2. 内层循环遍历所有可能的切片长度再判断匹配,属于多余的计算,直接通过当前索引切片即可得到目标列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:42:33