2014-09-20 66 views
1

報價,我想從這個名單去:轉混合列表轉換爲字符串,只保留字符串

my_list = [u'a','b','c',1,2,3] 

...這個字符串,它保持了引號(用於創建SQL語句) :

my_string = "'a', 'b', 'c', 1, 2, 3" 

此方法的工作原理,但它確實很醜!

my_string = str(my_list).replace('[','').replace(']','').replace('u','') 

有更好的方法嗎?堆積替換 - 什麼是錯誤的 - 不能是正確的!?

+0

不要處理引用自己。改用SQL參數,讓*數據庫適配器*擔心這個問題。 – 2014-09-20 22:46:14

回答

1

免責聲明:您不應該使用純字符串操作來準備SQL!使用適合您正在使用的數據庫準備語句的庫。

您的薰陶(注意,這並不正確格式的Unicode文本,你可以隨時與Unicode的一種特殊情況與函數替換repr):

my_string = ', '.join(repr(x) for x in my_list) 
+0

注意'unicode' ... – 2014-09-20 22:41:40

+0

它打印''u'a','b','c',1,2,3'' – g4ur4v 2014-09-20 22:43:10