你几乎在那里您需要将替换后的所选值转换为整数,就像这样
results = sorted(ranks, key=lambda x: int(x["rank"].replace(",", "")))
例如,
>>> ranks = [
... {'url': 'example.com', 'rank': '11,279'},
... {'url': 'facebook.com', 'rank': '2'},
... {'url': 'google.com', 'rank': '1'}
... ]
>>> from pprint import pprint
>>> pprint(sorted(ranks, key=lambda x: int(x["rank"].replace(",", ""))))
[{'rank': '1', 'url': 'google.com'},
{'rank': '2', 'url': 'facebook.com'},
{'rank': '11,279', 'url': 'example.com'}]
注意:我刚使用pprint函数来打印结果.
这里,x将是要确定键值的当前对象.我们从它获得rank属性的值,替换为空字符串,然后将其转换为带int的数字.
>>> import locale
>>> pprint(sorted(ranks, key=lambda x: int(locale.atoi(x["rank"]))))
[{'rank': '1', 'url': 'google.com'},
{'rank': '2', 'url': 'facebook.com'},
{'rank': '11,279', 'url': 'example.com'}]
本文介绍了如何使用Python将网站排名字符串转换为整数进行排序,通过`lambda`表达式和`locale.atoi`函数实现,实例演示了从字典列表中按排名对数据进行整理的过程。
508

被折叠的 条评论
为什么被折叠?



