在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
。