如何使用python itertools.groupby() 按首字符对字符串列表分组?
我有一个字符串列表,类似于下面这个:
tags = ('apples', 'apricots', 'oranges', 'pears', 'peaches')
我应该怎么做才能用 itertool 的 groupby 函数按照每个字符串的第一个字符来分组这个列表呢?我该怎么提供 itertool 的 groupby 函数需要的 'key' 参数呢?
4 个回答
5
>>> for i, j in itertools.groupby(tags, key=lambda x: x[0]):
print(i, list(j))
a ['apples', 'apricots']
o ['oranges']
p ['pears', 'peaches']
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
27
你可能想在之后创建一个 dict
(字典):
from itertools import groupby
d = {k: list(v) for k, v in groupby(sorted(tags), key=lambda x: x[0])}
16
在编程中,有时候我们需要处理一些数据,这些数据可能来自不同的地方,比如用户输入、文件或者网络请求。为了让程序能够理解这些数据,我们通常会把它们转换成一种程序能处理的格式。
比如说,如果你有一个用户输入的字符串,里面可能包含一些数字和字母。为了让程序能够使用这些数字,我们需要把这个字符串转换成数字格式。这个过程叫做“类型转换”。
在不同的编程语言中,类型转换的方式可能会有所不同。有些语言会自动帮你转换,有些则需要你手动去做。了解这些转换的规则,可以帮助你写出更好的代码,避免一些常见的错误。
总之,处理数据时,记得要把数据转换成合适的格式,这样程序才能顺利运行。
groupby(sorted(tags), key=operator.itemgetter(0))