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
相关产品推荐
相关产品推荐

