【问题标题】:Python - format and mapping a list with lambda - 'list' object has no attribute 'map'Python - 使用 lambda 格式化和映射列表 - 'list' 对象没有属性 'map'
【发布时间】:2014-09-30 14:15:45
【问题描述】:
尝试格式化列表,以便我可以在查询中执行它,但得到一个“列表”对象没有属性“地图”,确定为什么?
使用python 2.6
该列表包含一串名称。
params = ",".join(flagged_job_names.map(lambda x: "?"))
cursor.execute(sql.format(params), flagged_job_names)
【问题讨论】:
标签:
python
string
list
python-2.6
python-2.x
【解决方案1】:
map 是一个函数,而不是列表的方法。
params = ",".join(map(lambda x: "?", flagged_job_names))
顺便说一句,您可以使用列表解析或生成器表达式来代替map:
params = ",".join("?" for x in flagged_job_names)
但是对于这种特定情况,以下也是可能的:
params = ",".join(["?"] * len(flagged_job_names))
params = ",".join("?" * len(flagged_job_names))
最后一个是可能的,因为字符串 (?) 是一个字符。