获取字典中的最大键

Chr*_*ris 27 python

我有一本看起来像这样的字典

MyCount= {u'10': 1, u'1': 2, u'3': 2, u'2': 2, u'5': 2, u'4': 2, u'7': 2, u'6': 2, u'9': 2, u'8': 2}
Run Code Online (Sandbox Code Playgroud)

我需要最高的密钥,这是10,但如果尝试max(MyCount.keys()) 它给9最高.
同样的max(MyCount).

字典是动态创建的.

ken*_*ytm 47

这是因为u'9' > u'10',因为它们是字符串.

要以数字方式进行比较,请将其int用作关键字.

max(MyCount, key=int)
Run Code Online (Sandbox Code Playgroud)

(.keys()通常不需要打电话)

  • 调用`dict.keys`通常是多余的. (8认同)

Mik*_*ham 17

您需要比较实际数值.目前,您正在以字面方式比较字符串.

max(MyCount, key=int)
Run Code Online (Sandbox Code Playgroud)

  • 唯一的pythonic答案. (2认同)