Python - 格式化并使用lambda映射列表 - 'list'对象没有属性'map'

use*_*149 5 python string list python-2.x python-2.6

尝试格式化列表,以便我可以在查询中执行它,但获取'list'对象没有属性'map',确定原因?使用python 2.6该列表包含一系列名称.

params = ",".join(flagged_job_names.map(lambda x: "?"))

cursor.execute(sql.format(params), flagged_job_names)
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 11

map 是一个函数,而不是列表的方法.

params = ",".join(map(lambda x: "?", flagged_job_names))
Run Code Online (Sandbox Code Playgroud)

顺便说一句,您可以使用列表推导或生成器表达式代替map:

params = ",".join("?" for x in flagged_job_names)
Run Code Online (Sandbox Code Playgroud)

但对于这种特殊情况,以下也是可能的:

params = ",".join(["?"] * len(flagged_job_names))

params = ",".join("?" * len(flagged_job_names))
Run Code Online (Sandbox Code Playgroud)

最后一个是可能的,因为string(?)是一个字符.