Wak*_*iko 0 python dictionary list-comprehension list
我有一个对象列表(本例中的字符串),我想根据函数返回的某个特征对其进行分类.
例如,请考虑以下列表:
['sky', 'ocean', 'grass', 'tomato', 'leaf']
Run Code Online (Sandbox Code Playgroud)
和一个函数color(item),它返回传递给它的字符串的颜色,例如color('sky')返回'blue'.我现在想要将列表转换为字典或列表列表,这些列表根据项目的颜色/函数返回的值对项目进行分组.可能的结果如下所示:
{
'blue': ['sky', 'ocean'],
'green': ['grass', 'leaf'],
'red': ['tomato']
}
Run Code Online (Sandbox Code Playgroud)
我不关心密钥本身,只是相应地对项目进行分组,因此嵌套列表也可以.试着以pythonic方式做到这一点:)
我想我会这样回答这个问题:
from collections import defaultdict
D = defaultdict(list)
a = ['sky', 'ocean', 'grass', 'tomato', 'leaf']
for item in a:
D[color(item)].append(item)
Run Code Online (Sandbox Code Playgroud)
这会为您提供一个按颜色键入的列表字典,其中包含该类别的项目.
| 归档时间: |
|
| 查看次数: |
794 次 |
| 最近记录: |