Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 25, 2019 22:28:47

romzes96
Зарегистрирован: 2016-07-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортировка словаря/Json по определенному ключу.

Здравствуйте дорогие форумчане! Я новичок в изучение Python-а…

Я столкнулся с проблемой сортировки словаря по значениям определенного ключа.

Я имею словарь, а скорее Json который необходимо отсортировать по ключу “Likes”
Сам словарь:

 [
  {
    "Title": "Test",
    "Likes": "573",
    "Publisher_time": "Test",
    "Adult_content": "Test",
    "Views": "2580",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "90",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "419",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "66",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "308",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "304",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "1857",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "114",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "359",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "173",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "1113",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "132",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "550",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "146",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "802",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "166",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "711",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  },
  {
    "Title": "Test",
    "Likes": "60",
    "Publisher_time": "Test",
    "Adult_content": "False",
    "Views": "414",
    "Hash": "Test",
    "Link": "Test",
    "User": [
      {
        "Username": "Test",
        "First_name": "Test",
        "Last_name": "Test",
        "Country": "Test",
        "City": "Test",
        "Full_name": "Test",
        "Location": "Test"
      }
    ]
  }
]

Я пробовал отсортировать данными способами: НЕ РЕКЛАМА!
https://www.youtube.com/watch?v=QyuV1JjKvAg
https://www.youtube.com/watch?v=h568KGjc0f0

Но кроме ошибок я ничего не получил.

Может кто-нибудь направить в правильное русло?

Офлайн

#2 Апрель 25, 2019 22:51:34

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Сортировка словаря/Json по определенному ключу.

romzes96
Может кто-нибудь направить в правильное русло?
Ответ прост, словарь в питоне невозможно отсортировать (если не учитывать особенности реализации последних версий). Делайте список пар.



Офлайн

#3 Апрель 25, 2019 23:07:20

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Сортировка словаря/Json по определенному ключу.

Ну, исходя из того , что ты представил, у тебя не словарь, а список словарей + к тому же Likes представлен строчным значением (что тоже необходимо учитывать при сортировке)

 print(sorted(st, key=lambda i: int(i["Likes"])))
где st - список словарей

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version