假设我有以下内容:
x = {"A":2, "1":2,"0":1, "5":2}
print(min(x))
0
这会返回零,因为它应该。理想情况下,我希望它在查看最小数字之前返回任何作为键的字母。也就是说,如果存在字母 A-z 作为键返回,否则返回最小数字。有人对此有任何基本和/或简单的解决方案吗?
最佳答案
按 ASCII 代码,数字位于字母之前:
>>> ord('9')
57
>>> ord('A')
65
所以我们可以检查 max()
是否是一个数字。如果是,则没有任何字母键,我们将使用 min()
。
x = {"A":2, "1":2,"0":1, "5":2}
m = max(x)
if m.isdigit():
print(min(x))
else:
print(m)
您还可以使用 isdigit()
结果作为键排序列表的索引:
x = {"A":2, "1":2,"0":1, "5":2}
s = sorted(x)
print(s[s[-1].isdigit()-1])
关于python - 在 Python 中查找字典的最小键时的特殊情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32162491/