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

3

感谢您抽时间回答。 我正在做一个初学者Python项目——猜单词游戏。

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

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

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

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

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

我该如何开始做这件事?

3个回答

3

通过列表生成式

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

通过maplambda实现:

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

不要使用 i,使用 lettercharacter 可能更易读。 - jkr
i 替换为 char @jakub - Nk03

1
我会选择使用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]

0

列表推导式

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





网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接