繁体   English   中英

Python 中使用元组索引值的顺序字典

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM