【问题标题】: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)]

我该怎么做?

【问题讨论】:

    标签: python list boolean tuples


    【解决方案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)
      
      
      
      
      

      【讨论】:

        猜你喜欢
        • 2021-05-19
        • 2014-12-13
        • 2021-12-22
        • 2014-05-02
        • 1970-01-01
        • 2021-06-29
        • 2010-10-08
        • 2022-11-07
        • 2022-01-15
        相关资源
        最近更新 更多