【发布时间】:2019-01-30 04:05:34
【问题描述】:
在某种程度上,我正在使用 Python 3 中的 String 库来解决这个 HarvardX 挑战,但我认为我的解决方案不是很好。你能找到更简洁的解决方案吗?
这是我的代码:
#writing the 2 strings
alpha = string.ascii_letters
alpha
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
sent = 'She sells seashells on the seashore the seashells she sells are seashells for sure'
sent
'She sells seashells on the seashore the seashells she sells are seashells for sure'
#WRITING DICT to lookup count alpha string characters within 'She sells(etc)'
mydict_countalpha = {alpha[0]:sent.count(alpha[0]), alpha[1]:sent.count(alpha[1]), alpha[2]:sent.count(alpha[2]), alpha[3]:sent.count(alpha[3]), alpha[4]:sent.count(alpha[4]), alpha[5]:sent.count(alpha[5])}
#result:
mydict_countalpha
{'a': 5, 'b': 0, 'c': 0, 'd': 0, 'e': 16, 'f': 1}
耶。它计数正确。
虽然有问题
字母字符串的长度为 52 个字符。如果我逐行手动编写这本字典,我想我会犯错误。我怎样才能做得更好?跟迭代有关系吗?
我为什么问
这是基于哈佛X 优秀课程“Using Python for Research”的家庭作业。它已经过评估,但根据 HarvardX 指南咨询 Stack Overflow 以找出答案是可以的。 :-) 如果您有任何想法,我并不是在作弊。
我认为这个挑战有非常广泛的应用&希望你也觉得它很有趣。但是,我是一名初学者,Python 学习曲线陡峭。不过,感谢您的任何建议!
最好的
一个
【问题讨论】:
标签: python string python-3.x dictionary