Я пытаюсь отсортировать файлы данных, используя структуру словаря. Таким образом, я бы отсортировал свой словарь по содержанию его первого значения, например, по первой строке / столбцу значения словаря.
Проблема, с которой я сталкиваюсь, заключается в том, что при использовании лямбды для сортировки словаря это не принять лямбда item:item[1]
, который, как я считаю, соответствует значению original_dict
. К настоящему времени вот что у меня есть:
original_dict = {'file1.txt': array([[ 9., 40., 50., 20.],[10., 40., 50., 20.]]),
'file2.txt':array([[1., 2., 3., 4.],[2., 2., 3., 4.]]),
'file3.txt': array([[0.1, 0.2, 0.3, 0.4],[0.2, 0.2, 0.3, 0.4]])}
d2 = {k: v for k, v in sorted(original_dict.items(), key=lambda item: item[1])}
Возвращает
ValueError: Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()
Желаемый вывод
d2 = {'file3.txt': array([[0.1, 0.2, 0.3, 0.4],[0.2, 0.2, 0.3, 0.4]]),
'file2.txt':array([[1., 2., 3., 4.],[2., 2., 3., 4.]]),
'file1.txt': array([[ 9., 40., 50., 20.],[10., 40., 50., 20.]])}