2012-03-28 77 views
0

我經常使用Python/MySQLdb,並且經常格式化MySQL的類別列表。下面的代碼將類別列表轉換爲'添加列浮點,添加列浮點,添加列c浮點'。我想弄清楚如何最好地簡化這段代碼,允許隨意更改通用字符串的'''(例如'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) 

我可以創建一個方法,但似乎有許多例子,它不會處理特定的需求。感謝

回答

2

使用生成器表達式,這可以寫爲一個班輪:

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