【发布时间】:2019-12-01 13:00:42
【问题描述】:
如果有人可以帮助我解决以下练习,我将不胜感激。
编写一个函数,该函数接受一个包含由空格分隔的单词的字符串并创建一个字典,其中键对应于字符串中单词的最后一个字符,而关联的值对应于以该字符结尾的单词的列表。
此外,列表必须按字典顺序排序
例子
string = "This will be an amazing experience"
应该返回以下字典
{'s':['This'], 'l':['will'], 'e':['be', 'experience'], 'n':['an'], 'g':['amazing']}
我知道应该如何解决这个练习。但是,鉴于我仍然是 Python 的初学者,我很挣扎。
我做的第一件事是创建一个空字典。其次,我使用 split 方法将单词字符串转换为列表。之后,我创建了另一个列表,它将第一个字符串列表中单词的最后一个字符放入新列表中。
我使用 dict 将第二个列表的元素作为键放入我的字典中,效果很好。问题是我不能把对应的单词列表作为值。
这是我的代码:
def dictionary (string):
mydict = {}
mylist = string.split()
mylist2 = []
for word in mylist:
mylist2.append(word[-1])
mydict = dict((el,(word[-1] for word[-1] in mylist)) for el in mylist2)
return mydict
【问题讨论】:
标签: python dictionary