列表理解和简化代码

时间:2012-03-28 18:47:34

标签: python mysql-python

我经常使用Python / MySQLdb,并经常格式化MySQL的类别列表。下面的代码将类别列表变为'添加列浮动,添加列浮动,添加列浮动'。我想弄清楚如何最好地简化这段代码,允许任意改变通用字符串''(例如'ADD COLUMN%s FLOAT'可以很容易地'%s =%d'或“%s ='% S'“)。是否有某种形式的列表理解有效?

categories = ['a','b','c']
select_l = []
for cat in categories:
    s = 'ADD COLUMN %s FLOAT' % (cat)
    select_l.append(s)
select_s = ", ".join(select_l)

我可以创建一个方法,但似乎有很多例子它不能处理特定需求。感谢

1 个答案:

答案 0 :(得分:2)

使用生成器表达式,可以将其写为一行:

select_s = ", ".join('ADD COLUMN %s FLOAT' % cat for cat in categories)