Сортировать по значению в списке в списке

Чтобы успешно установить python-ldap с помощью pip, необходимы библиотеки разработки (имена пакетов, взятые из среды ubuntu):

sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
0
задан Harbus 30 March 2019 в 23:13
поделиться

1 ответ

Поскольку ваши значения списка «первого уровня» фактически являются списками, вам необходимо сначала извлечь их, а затем запустить order для результатов. Для второй версии вам просто нужно заменить «p.val» как индекс извлечения

dput(example[ order( sapply(example, "[[", 'p.val')) ] )
  list(list(vals = list(1, 2, 3), param = list(4, 5, 6), p.val = 0.2), 
      list(vals = list(1, 2, 3), param = list(4, 5, 6), p.val = 0.5), 
      list(vals = list(1, 2, 3), param = list(4, 5, 6), p.val = 0.9), 
      list(vals = list(1, 2, 3), param = list(4, 5, 6), p.val = 1.2))

. Это не изменит значение примера, поэтому, чтобы оно «прилипало», вам нужно было бы назначить результат к имени, возможно, с тем же именем, example.

0
ответ дан 42- 30 March 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: