【问题标题】:Printing Initial Letters of Words打印单词的首字母
【发布时间】:2016-11-07 00:14:18
【问题描述】:

我的问题集如下所示:

编写一个名为initialDict 的函数,它接受一个字符串text 作为参数,并计算并返回一个字典,其中text 中单词的每个首字母都是一个键。所有键都应小写。每个键的值是text 中以该字母开头的所有单词的列表。

输入: text,一个字符串

返回:首字母:单词列表对的字典

例如,以下将是正确的输出。

print(initialDict('The Call of the Wild'))
{'c':['Call'], 't':['The', 'the'], 'w':['Wild'], 'o':['of']}

到目前为止,我有这个,但不确定我是否走上了正轨:

def initialDict(text):
    dic = {}
    text.lower()
    text.split()
    for i in word:

我已经尝试过一件事,但它只是运行了一个错误。

【问题讨论】:

  • 是什么让你觉得自己没有走上正轨?
  • 我不太擅长为字典编写函数。我的意思是我觉得我大部分时间都在正确的轨道上,但我不知道如何去做。我已经尝试了一件事,但它只是出错了。
  • 我将如何处理剩下的事情?
  • 请在此处包含文字,而不是在图片中,以便所有内容都集中在一个位置且易于阅读。让人们轻松帮助您。

标签: python function python-3.x dictionary


【解决方案1】:

str.lower()str.split() 不直接更改它们的输入,因为字符串在 Python 中是不可变的。

这看起来像一个赋值,所以是一个提示而不是一个完整的实现:要迭代单词,你需要组合这些调用。

for word in text.lower().split():
    # do something to 'word' here

对于问题的其他部分:

  • 要获取第一个字母,请查看here,尤其是“字符串可以索引...”部分
  • 要制作列表,请查看here,尤其是“您还可以添加新项目...”的部分

希望对您有所帮助。 docs.python.org/3/tutorial/ 的教程也是一个很好的资源。

【讨论】:

  • 谢谢。这只是对未提交的考试的复习。所以我需要将每个单词的第一个字母作为键添加到字典中,然后以该字母开头的每个单词都将作为值添加到字典中.我在添加这样的字典方面做得不多,所以很混乱。
  • 我不是必须使用每个单词的索引 0 来提取它,但是我如何将它作为键添加,然后添加值
  • 你可以用if my_key in my_dict:检查一个key是否已经存在。如果没有,您应该添加一个新列表。然后你就可以把你的话放到列表中了。
猜你喜欢
  • 2015-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-30
  • 2021-08-07
相关资源
最近更新 更多