gpt4 book ai didi

python - 如何在 Python 的字典理解中创建值列表

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:38 25 4
gpt4 key购买 nike

举一个非常简单的例子,循环一个句子并创建一个映射 {x:y} 的字典,其中 x 是表示单词长度的键y 是句子中包含 x 个字母

的单词列表

输入:

mywords = "May your coffee be strong and your Monday be short"

预期输出:

{2: ['be', 'be'], 3: ['May', 'and'], 4: ['your', 'your'], 5: ['short'], 6: ['coffee', 'strong', 'Monday']}

这是创建值列表但每次都覆盖它的尝试:

{len(x):[x] for x in mywords.split()}
{2: ['be'], 3: ['and'], 4: ['your'], 5: ['short'], 6: ['Monday']}

是否可以在 Python 中一行完成此操作?

最佳答案

当然可以,使用sorted + groupby,但看起来不太好。

from itertools import groupby
d = dict([(k, list(g)) for k, g in groupby(sorted(mywords.split(), key=len), key=len)])

print(d)
{2: ['be', 'be'],
3: ['May', 'and'],
4: ['your', 'your'],
5: ['short'],
6: ['coffee', 'strong', 'Monday']}

附言,这是我的 answer (使用我推荐的 defaultdict)到 original question .

关于python - 如何在 Python 的字典理解中创建值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46820714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com