如何为列表中的每个项目添加一个布尔值?

Posted

技术标签:

【中文标题】如何为列表中的每个项目添加一个布尔值?【英文标题】:How do I add a boolean value to each item in a list? 【发布时间】:2021-08-10 23:15:53 【问题描述】:

感谢您花时间回答。 我正在制作一个作为初学者 Python 项目的刽子手游戏。\

我将“单词”拆分成一个列表,每个项目都是单词的一个字符。

word = "word" 
letters = []
letters[:] = word
print(letters)

["w","o","r","d"]

我不太确定如何为每个列表项分配一个布尔值,创建元组,如下所示:

[("w", False),("o", False), ("r", False), ("d", False)]

我该怎么做?

【问题讨论】:

【参考方案1】:

通过list comprehension:

word = "word"
result = [(char, False) for char in word]

通过maplambda

word = "word"
result = list(map(lambda x: (x, False), char))

【讨论】:

而不是i,使用lettercharacter 可能更具可读性 i 替换为char @jakub【参考方案2】:

我会选择使用 zip 和列表理解

word = ["w","o","r","d"]
booleanValues = [False,False,True,True]
lst = [(let,boo) for let,boo in zip(word,booleanValues)]

输出

[('w', False), ('o', False), ('r', True), ('d', True)]

现在,如果您只想将 False 分配给每个元组,您可以尝试以下操作。

word = ["w","o","r","d"]
lst = [(let,False) for let in word]

【讨论】:

【参考方案3】:

列表理解

word = "word" 
letters = []
letters[:] = word
res = [(val, False) for val in letters]
print(res)




【讨论】:

以上是关于如何为列表中的每个项目添加一个布尔值?的主要内容,如果未能解决你的问题,请参考以下文章