假设字典包含超过 10 个键值对。字典应该按值(整数)排序。打印出前 10 个值(和相应的键)。我认为有一个比我在这里给出的更好的解决方案。
for keys in sorted(x):
c=c+1
if c>10:
break
else:
print keys, x['keys']
假设字典包含超过 10 个键值对。字典应该按值(整数)排序。打印出前 10 个值(和相应的键)。我认为有一个比我在这里给出的更好的解决方案。
for keys in sorted(x):
c=c+1
if c>10:
break
else:
print keys, x['keys']
for key in sorted(x, key=x.get, reverse=True)[:10]:
print key, x[key]
对于非常大dict
的,您应该考虑使用 heapq
from heapq import nlargest
for key in nlargest(10, x, key=x.get):
print key, x[key]
字典键没有定义顺序,因此“第一个”键没有很好地定义。具体来说,您所做的更容易使用x.keys()[:10]
.
topten = sorted(x.items(), key=lambda x:-x[1])[:10]
您可以使用以下代码迭代dict
X 次。
蟒蛇 3.8
def highest_contributor(self, top=1):
slice_dict_only_to_keys = list(self.contributors.keys())[:top]
for _key in slice_dict_only_to_keys:
self.log("Top Contributor: {} ({})".format(_key, self.contributors[_key]))
不要担心整数和用你的代码递增它们。你不需要它们。
简单、可读和可维护。