如何为列表中的每个项目添加一个布尔值?
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]
通过map
和lambda
:
word = "word"
result = list(map(lambda x: (x, False), char))
【讨论】:
而不是i
,使用letter
或character
可能更具可读性
将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)
【讨论】:
以上是关于如何为列表中的每个项目添加一个布尔值?的主要内容,如果未能解决你的问题,请参考以下文章
如果它出现在MYSQL中的组中,如何为每个值返回'true / false'?
Django 管理员。当对象具有布尔字段== True时,如何为列表视图中的每一行添加背景颜色?