您需要对元组列表进行排序。底线是,例如,如果数字相等,那么您需要按字典顺序排序。我看到了类似的东西,但我不明白它是如何工作的。
sorted(domens.items(), key=lambda x: (x[1], x[0])):
据我了解,lambda 中的元组是在相等的情况下选择排序元素。这是要排序的数据:
data = [('outlook.com', 34), ('list.ru', 29), ('yahoo.com', 36), ('bk.ru', 38), ('mail.ru', 38), ('rambler.ru', 24), ('iCloud.com', 29), ('internet.ru', 32), ('inbox.ru', 31), ('yandex.ru', 34), ('gmail.com', 44), ('aol.com', 31)]
事实上,除了最后一小步之外,您已经完成了所有工作。是的,从问题来看,大部分内容都被理解了。它仍然插入到“事物”
data中。未来:不要害怕尝试,在这个过程中你会发现的!
简要说明:
这个特定的排序键首先对第一个元素(数字)进行排序,然后(如果相等)按字典顺序对空元素(字符串)进行排序。另一方面,lambda 在整个列表中提供“运行”。
结果:
[('rambler.ru', 24), ('iCloud.com', 29), ('list.ru', 29), ('aol.com', 31), ('inbox.ru', 31), ('internet.ru', 32), ('outlook.com', 34), ('yandex.ru', 34), ('yahoo.com', 36), ('bk.ru', 38), ('mail.ru', 38), ('gmail.com', 44)]