如何解决Python 中的 get() 和 .get 有什么区别?
res = Counter(test_str)
res = max(res,key=res.get)
但是,我似乎无法理解 key=res.get
。我知道它按值对字典 (res) 的键进行排序,但我认为 get() 方法需要一个强制性的“键”参数?怎么可能只是.get
而不是.get(key=)
?
解决方法
在 max
函数中,您传入的值进行比较并返回最高值。例如,这个程序返回这个列表中最大的整数:
print(max([1,2,3,4]))
但是,您也可以将函数传递到 key
的 max
参数中,该参数应该是一个函数或 lambda,可以作用于可迭代列表中的值并返回一个可以正确返回的值比较的。例如,如果项目在列表中,Counter(stuff).get
方法将返回一个项目在列表中出现的次数的整数。您可以将方法而不是方法调用传递给 max 函数,max 函数将比较每个单独项目在可迭代列表中出现的次数。例如:
c = Counter('hello,world!')
print(max(c,key=c.get))
上面的例子将打印字符串中最常见的字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。