Самое простое решение состоит в том, что вы должны получить список ключей dict, отсортированный по порядку, а затем итерацию по dict. Например,
a1 = {'a':1, 'b':13, 'd':4, 'c':2, 'e':30}
a1_sorted_keys = sorted(a1, key=a1.get, reverse=True)
for r in a1_sorted_keys:
print r, a1[r]
Следующим будет вывод (порядок ожидания)
e 30
b 13
d 4
c 2
a 1
Вы можете использовать оператор or
для явного возврата None
, если dict содержит пустой dict
results = x.get('field') or None
. Но имейте в виду, что вы получите None, для других типов значений весь статус bool false, например 0
, ''
и т. д.
Python - это утка, а словарь может содержать любое значение. Вам нужно будет явно проверить, является ли возвращаемое значение типом и является ли оно пустым.
value = x.get('field')
if value == {}:
value = None
None
дляget()
? Я думал, что по умолчаниюNone
– mysticalstick 13 July 2018 в 20:06d.get("missing_key")
будет по умолчаниюNone
с или без второго аргумента явно какNone
. – Adam Smith 13 July 2018 в 20:20