Flo*_*Flo 5 python string dictionary palindrome
我很抱歉,如果这太容易了,但我无法弄清楚如何构建这本字典.
我有一个字符串例如
"Bob and Anna are meeting at noon"
Run Code Online (Sandbox Code Playgroud)
我想要一本字典,所有的回文指向下面的非回文列表,所以
{"Bob": ["and"], "Anna": ["are", "meeting", "at"], "noon": []}
Run Code Online (Sandbox Code Playgroud)
我发现我可以检查一个单词是否是一个回文
word.lower() == word.lower()[::-1]
Run Code Online (Sandbox Code Playgroud)
我也可以将一个字符串拆分成单词
string.split()
Run Code Online (Sandbox Code Playgroud)
但我不明白如何循环字符串并构建字典,以便只有回文是键并同时列出一个列表.
谢谢你的帮助
这段代码应该可以工作:
text = "Bob and Anna are meeting at noon"
words = {}
last_p = None
for word in text.split():
word2 = word.lower()
if word2 == word2[::-1]:
words[word] = []
last_p = word
elif last_p:
words[last_p].append(word)
print(words)
Run Code Online (Sandbox Code Playgroud)
如果句子中第一个回文之前有任何单词,它们将被忽略。如果您希望字典中的项目保持原始顺序,请使用该类collections.OrderedDict而不是内置dict.
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |