转混合列表转换为字符串,只保留字符串
问题描述:
报价,我想从这个名单去:转混合列表转换为字符串,只保留字符串
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','')
有更好的方法吗?堆积替换 - 什么是错误的 - 不能是正确的!?
答
免责声明:您不应该使用纯字符串操作来准备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
不要处理引用自己。改用SQL参数,让*数据库适配器*担心这个问题。 – 2014-09-20 22:46:14