如何在Python的字典理解中创建值列表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Python的字典理解中创建值列表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含827字,纯文字阅读大概需要2分钟。
内容图文
![如何在Python的字典理解中创建值列表](/upload/InfoBanner/zyjiaocheng/691/e970dde94c5e419f9604d0b2de905bd9.jpg)
举一个非常简单的示例,遍历一个句子并创建一个映射{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中一行完成此操作?
解决方法:
当然可以,您可以使用排序的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的字典理解中创建值列表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。