需要帮助理解Python表达式

时间:2014-11-06 18:00:47

标签: python

我找到了一些刽子手游戏的Python代码。我遇到了以下代码行,我无法理解它。

# here's the initial values of the variables
guessWord = random.choice(listOfWords)
blanks = "-" * len(guessWord)
alreadyGuessed = set()

# This is the line I fail to understand:
blanks = "".join([char if char in alreadyGuessed else "-" for char in guessWord])

如果您解释它的使用,我会很高兴。

1 个答案:

答案 0 :(得分:0)

这称为条件表达式。

这是一个班轮,例如:

l = [1,2,3,4]
j = [1,3]

res = []
for i in l:
  if i in j:
    res.append(i)
  else:
    res.append(None)

你可以写:

res = [i if i in j else None for i in l]