关于Python:Python – 将元组列表转换为字符串

Python - convert list of tuples to string

将元组列表转换为字符串最简单的方法是什么?

我有:

1
[(1,2), (3,4)]

我想要:

1
"(1,2), (3,4)"

我的解决方案是:

1
2
3
4
5
l=[(1,2),(3,4)]
s=""
for t in l:
    s +="(%s,%s)," % t
s = s[:-1]

有没有比这更像Python的方法?


您可以尝试类似的操作(另请参见ideone.com上的):

1
2
3
myList = [(1,2),(3,4)]
print",".join("(%s,%s)" % tup for tup in myList)
# (1,2),(3,4)


您可能需要使用一些简单的方法,例如:

1
2
3
>>> l = [(1,2), (3,4)]
>>> str(l).strip('[]')
'(1, 2), (3, 4)'

…这很方便,但不能保证正确工作


怎么样:

1
2
3
>>> tups = [(1, 2), (3, 4)]
>>> ', '.join(map(str, tups))
'(1, 2), (3, 4)'


最常见的方法是

1
2
3
4
5
tuples = [(1, 2), (3, 4)]

tuple_strings = ['(%s, %s)' % tuple for tuple in tuples]

result = ', '.join(tuple_strings)


我觉得这很干净:

1
2
3
>>> l = [(1,2), (3,4)]
>>>"".join(str(l)).strip('[]')
'(1,2), (3,4)'

试试看,这对我来说很有魅力。


怎么样

1
2
3
l = [(1, 2), (3, 4)]
print repr(l)[1:-1]
# (1, 2), (3, 4)


还有三个:)

1
2
3
4
5
6
7
8
9
10
l = [(1,2), (3,4)]

unicode(l)[1:-1]
# u'(1, 2), (3, 4)'

("%s,"*len(l) % tuple(l))[:-2]
# '(1, 2), (3, 4)'

",".join(["%s"]*len(l)) % tuple(l)
# '(1, 2), (3, 4)'