2014-09-20 81 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