Доброе утро, я тут перевожу php код в python пожалуйста помогите с одной проблемой.
Вот php код
class Test {
private $data = [];
public function unit()
{
foreach ($data as $row)
{
$id = rand();
$this->data[$data[0]][$data[1]][$data[2]] = [
'name' => $data[2],
'id' => $id
];
}
$this->sortAscAll();
}
private function sortAsc($a, $b)
{
if ($a['id'] == $b['id']) {
return 0;
}
return ($a['id'] < $b['id']) ? -1 : 1;
}
public function sortAscAll()
{
foreach ($this->data as $oneID => $In)
{
foreach ($In as $twoId => $item) {
uasort($item, [$this, 'sortAsc']);
$this->data[$oneID][$twoId] = $item;
}
}
return $this;
}
}
Я частично перевел, но не получается перевести сортировку.
class Test:
__data = dict()
def unit(self):
self.__data = AutoVivification()
for item in read:
self.__data[data[0]][data[1]][data[2]] = (
'name', data[2],
'id', rand
)
self.__sortAscAll()
def __sortAscAll(self):
for oneID, In in self.__data.items():
for twoID, item in In.items():
# Никак не могу сортировать по ключу id
sorted(item.items(), key=lambda tuple: print(tuple), reverse=True)
self.__data[oneID][twoID] = item
class AutoVivification(dict):
def __getitem__(self, item):
try:
return dict.__getitem__(self, item)
except KeyError:
value = self[item] = type(self)()
return value
Помогите пожалуйста очень нужно, уже 2 день не могу сделать