[英]Order dictionary in Python using value of tuple index
在 Python 3... 假设我有一个以元组作为值的字典。 如何按每个元组的某个索引对字典进行排序? 例如,在下面的字典中,我如何按每个元组的 index[0] 处的服务名称(Netflix、Prime 等)排序,并按该顺序返回键列表。
ServiceDict = {'Service01': ('Netflix', 12, 100000, 'B'), 'Service02': ('Disney', 8, 5000, 'A'), 'Service03': ('Stan', 10, 20000, 'A'), 'Service04': ('Prime', 6, 30000, 'C')}
谢谢
这里的解决方案
{k: v for k, v in sorted(ServerDict.items(), key=lambda item: item[1])}
重复,您可以在此处显示更多我如何按值对字典进行排序?
IIUC,用途:
# sorted in ascending order.
services = sorted(ServiceDict, key=lambda k: ServiceDict[k][0])
print(services)
这打印:
['Service02', 'Service01', 'Service04', 'Service03']
你可以试试这个
ServiceDict = {k: v for k, v in sorted(ServiceDict.items(), key=lambda item: item[1][0])}
print(list(ServiceDict.keys()))
Output 将是-
['Service02', 'Service01', 'Service04', 'Service03']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.