在Python';s itertools.groupby()文档?

在Python';s itertools.groupby()文档?,python,python-3.x,Python,Python 3.x,在for itertools.groupby()的中 我看到keyfunc被用作对数据进行排序的键。这个关键词指的是什么?它不是关键词。它是指作为键参数传递给排序的任何函数 您链接到的文档部分没有特别提到它,但是如果您搜索页面,您会在顶部的汇总表中找到它 Iterator Arguments Results Example groupby() iterable[, keyfunc]

在for itertools.groupby()的中


我看到keyfunc被用作对数据进行排序的键。这个关键词指的是什么?

它不是关键词。它是指作为
参数传递给
排序
的任何函数

您链接到的文档部分没有特别提到它,但是如果您搜索页面,您会在顶部的汇总表中找到它

Iterator    Arguments             Results                                        Example
groupby()   iterable[, keyfunc]   sub-iterators grouped by value of keyfunc(v)
在Python文档中,惯例是可选部分用方括号表示,因此这里的
iterable[,keyfunc]
意味着您必须传递一个iterable,还可以传递一个名为
keyfunc
的参数。似乎奇怪的是,没有给出任何例子,因为这可能会让事情变得更清楚

正如他们在文档中所说,“key是一个为每个元素计算键值的函数。如果未指定或为None,key默认为一个标识函数并返回不变的元素。”这很有用,例如按列表中的第二个元素排序


中给出了其他人在文档的这一部分遇到问题的一些示例,包括使用lambda函数作为
键。

这不是一个关键字。它是指作为
参数传递给
排序
的任何函数

您链接到的文档部分没有特别提到它,但是如果您搜索页面,您会在顶部的汇总表中找到它

Iterator    Arguments             Results                                        Example
groupby()   iterable[, keyfunc]   sub-iterators grouped by value of keyfunc(v)
在Python文档中,惯例是可选部分用方括号表示,因此这里的
iterable[,keyfunc]
意味着您必须传递一个iterable,还可以传递一个名为
keyfunc
的参数。似乎奇怪的是,没有给出任何例子,因为这可能会让事情变得更清楚

正如他们在文档中所说,“key是一个为每个元素计算键值的函数。如果未指定或为None,key默认为一个标识函数并返回不变的元素。”这很有用,例如按列表中的第二个元素排序


其他人在本节文档中遇到问题的一些示例,包括使用lambda函数作为

在您刚刚链接的页面中给出:“键是一个为每个元素计算键值的函数。如果未指定或为“无”,则键默认为标识函数并返回未更改的元素。“.到底是谁对此投了赞成票?到底是谁认为不清楚他们在问什么?当然,这是一个完全冻结大脑的问题,但问题问得很清楚,也很容易回答。@JamieBull谢谢你的善良和体贴。我对标题进行了编辑,以使文档更加明确,语法更加正确,这样在根本不阅读内容的情况下就可以理解问题。也许这会帮助那些发现问题不清楚的人。不管怎样,这对我来说都不重要,因为我已经收到了我的答案。从您刚才链接的页面上可以看到:“key是一个函数,为每个元素计算键值。如果未指定或没有,key默认为一个identity函数,并返回未更改的元素。”.到底是谁投了赞成票?到底是谁认为不清楚他们在问什么?当然,这是一个完全冻结大脑的问题,但问题问得很清楚,也很容易回答。@JamieBull谢谢你的善良和体贴。我对标题进行了编辑,以使文档更加明确,语法更加正确,这样在根本不阅读内容的情况下就可以理解问题。也许这会帮助那些发现问题不清楚的人。不管怎样,这对我来说都无关紧要,因为我已经收到了我的答案。好吧,keyfunc只是一个占位符,告诉你把你自己的键函数放在那里。现在看起来很明显,因为所有Python文档都是这样读的,但当时我认为这是itertools定义的特殊内容。非常感谢你!好的,keyfunc只是一个占位符,告诉你把你自己的键函数放在那里。现在看起来很明显,因为所有Python文档都是这样读的,但当时我认为这是itertools定义的特殊内容。非常感谢你!