python - 函数参数中的列表理解

标签 python list list-comprehension keyword-argument

在 Python 2.7.1 中,我试图提供一个消息列表作为第一个参数,并提供一个颜色列表作为第二个参数。如果没有提供,我希望第二个参数默认为白人列表。这是我尝试这样做的方式:

def multicolor_message(msgs, colors=[libtcod.white for x in len(msgs)]):
#function body

libtcod.white 是我正在使用的库的一部分,绝不会导致任何问题。 编译器说变量 msgs 未定义。显然 msgs 变量不存在于此范围内,但我需要创建一个适当长度的列表并将其分配给 colors。最干净的方法是什么?

最佳答案

我会这样做:

def multicolor_message(msgs, colors=None):
  if colors is None:
    colors=[libtcod.white for x in len(msgs)]

关于python - 函数参数中的列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14101980/

相关文章:

python - 创建一个 python 集合/唯一列表

Python - 使用 2 个 for 循环和一个 ADD AND 操作数来理解列表

python - Django:获取所有对象并将其返回给 View

python - 如何从 python 包中启动子模块?

javascript - 从控制台输出保存变量 Javascript/Python/Jinja2

python - 集会 python REST : Query all tasks from chosen iteration

string - 如何在 haskell 中正确定义空字符串?

列表 Monad : Consequences of the signature of List. flatMap(f: (A) ⇒ GenTraversableOnce[B])

python - 可以从 Python 列表理解中捕获返回值以使用条件吗?

python - 是否可以使用列表理解从一个字典的字典创建所有成员字典键的列表?