为什么for循环内部的语法无效?

14 浏览
0 Comments

为什么for循环内部的语法无效?

这个问题已经有了答案:

使用综合工具创建一个字典

Python-列表中冒号的语法错误

我用以下代码尝试并获得错误:

def preprocess(s):
    return (word: True for word in s.lower().split())
s1 = 'This is a book'
text = preprocess(s1)

然后这里出现错误:

return (word: True for word in s.lower().split()) 

是无效的语法,我找不到错误来自哪里。

我想将序列放入此列表模型中:

["This": True, "is" : True, "a" :True, "book": True]

admin 更改状态以发布 2023年5月21日
0
0 Comments

你想要做的是将序列放入字典而不是列表中。
字典的格式为:

dictionaryName={
    key:value,
    key1:value1,
}

所以你的代码可以像这样工作:

def preprocess(s):
    return {word:True for word in s.lower().split()}
s1 = 'This is a book'
text = preprocess(s1)

0
0 Comments

你想构建一个字典而不是列表。使用花括号 { 语法即可:

def preprocess(s):
    return {word: True for word in s.lower().split()}
s1 = 'This is a book'
text = preprocess(s1)

0