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

如何将Python字典初始化循环代码改写为字典推导式?

如何用字典推导式改写初始化空列表字典的循环?

当然可以!你这段初始化字典的循环代码完全可以用Python的字典推导式来简化,而且写法非常简洁直观。

改写后的代码

直接用字典推导式实现的版本是:

sd = {x: [] for x in range(n)}

效果与原代码一致

这个推导式和你原来的代码:

sd = {}; for x in range(n): sd[x] = []

实现的功能完全相同——创建一个键为range(n)中所有整数、每个键对应的值都是独立空列表的字典。

细节说明

  • 字典推导式的核心结构是{键表达式: 值表达式 for 变量 in 可迭代对象}:这里x是迭代range(n)得到的每个元素,作为字典的键;[]是每次迭代时生成的全新空列表,作为对应键的值。
  • 不用担心列表引用共享的问题:因为每次循环都会生成一个新的空列表,所以每个键对应的列表都是独立的,不会出现修改一个列表影响其他键的情况。

示例验证

当n=3时,运行推导式会得到:

{0: [], 1: [], 2: []}

和原循环代码的输出完全一致。

内容的提问来源于stack exchange,提问作者N. Gene Eer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 13:02:55