在PHP中,您可以简化循环内部:

$result = [];
foreach ($dataset as $dataElement){
    if (isset($result[$dataElement->date])
        array_push($result[$dataElement->date], $dataElement);
    else
        $result[$dataElement->date] = $dataElement;
}


至:

$result = [];
foreach ($dataset as $dataElement){
    $result[$dataElement->date][] = $dataElement;
}


如果不存在,则在将其动态创建时基本上将数据元素追加到子数组。

是否有可能在Python中有像这样的简单单行代码?似乎我需要该数组存在,然后绝对调用List.append()方法。

最佳答案

我认为这可能是您要寻找的:

from collections import defaultdict

result = defaultdict(list)
for element in dataset:
   result[element.date].append(element)


如果result词典不包含element.date条目,则会创建一个新的list,否则将使用现有列表,并且在两种情况下均会添加element

10-02 07:43