我正在使用Python连接函数来创建一个字符串,例如
a = [a, b, c, d]
b = ",".join(a)
print b
b = a,b,c,d
但我想要
b = 'a','b','c','d'
有没有办法只使用连接函数(或更短的方式)而不是
b = ""
for x in a:
b += "'%s'," % x
b = b[:-1]
答案 0 :(得分:9)
b = ",".join(map(repr, a))
还可以正确地转义字符串中可能有用的字符。
答案 1 :(得分:6)
>>> b = ['a', 'b', 'c', 'd']
>>> print ','.join("'{0}'".format(s) for s in b)
'a','b','c','d'
join()内的表达式是generator expression。
答案 2 :(得分:6)
In [1]: a = ['a', 'b', 'c', 'd']
In [2]: print ','.join("'%s'" % x for x in a)
'a','b','c','d'
答案 3 :(得分:5)
b = "'" + "','".join(a) + "'"
:)
答案 4 :(得分:1)
a = ['a', 'b', 'c', 'd']
b = "','".join(a).join("''")