Python 语法“G = {i: [] for i in range(len(l))}”

Python Syntax " G = {i: [] for i in range(len(l))}"

我对 Python 比较陌生,我不确定这个语句到底是做什么的。我也无法在我的课本中找到任何具有此类语法的内容。我假设它声明了一个数组?但我很确定。

这个语句到底是什么mean/do?

 G = {i: [] for i in range(len(l))}

(如果有人能用 Java 等价物向我解释,那会更容易,因为我知道 Java 非常好)

它是一个 dictionary comprehension,因此它将创建一个字典,将整数 0-(N-1) 映射到空列表,其中 N 是列表的长度

>>> {index: list() for index in range(5)}
{0: [], 1: [], 2: [], 3: [], 4: []}

python中的这个东西叫做dict-comprehension。也就是说,我们可以在一行中编写任何逻辑,return 一个字典。

你的情况{i: [] for i in range(len(l))},相当于这个;

G = {}
for i in range(len(l)):
    G[i] = []