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

Python语句G = {i: [] for i in range(len(l))}的作用及Java等价实现是什么

语句作用与语法解析

你提到的G = {i: [] for i in range(len(l))}是Python的字典推导式,属于Python特有的语法糖,作用是快速生成符合规则的字典结构,并非数组声明。

我们可以把它拆解为3部分理解:

  • 最外层的{}标识最终生成的是字典类型,而非列表/数组
  • i: []定义了每个字典元素的结构:键为变量i,值为一个空列表
  • for i in range(len(l))是循环逻辑:i会依次遍历0到len(l)-1的所有整数(l是代码中提前定义好的可迭代对象,比如列表、元组等)

举个实际例子,如果你提前定义的l长度为4,执行这条语句后生成的G结果为:
{0: [], 1: [], 2: [], 3: []}
这类结构通常用来初始化图的邻接表,或者需要按序号分类存储多组数据的场景。

对应Java等价实现

结合你熟悉的Java语法,该语句的等价实现如下,Python的字典对应Java的HashMap,值的空列表对应ArrayList:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

// 假设原Python代码中的l是Java的List类型,长度取l.size()
List<Object> l = ...; // 你的原有l对象
Map<Integer, List<Integer>> G = new HashMap<>();
int len = l.size();
for (int i = 0; i < len; i++) {
    G.put(i, new ArrayList<>());
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 09:06:03