字符串

时间:2010-10-07 23:28:07

标签: python

我有一个元组。

tst = ([['name', u'bob-21'], ['name', u'john-28']], True)

我想把它转换为字符串..

print tst2
"([['name', u'bob-21'], ['name', u'john-28']], True)"

这样做的好方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:16)

tst2 = str(tst)

E.g:

>>> tst = ([['name', u'bob-21'], ['name', u'john-28']], True)
>>> tst2 = str(tst)
>>> print tst2
([['name', u'bob-21'], ['name', u'john-28']], True)
>>> repr(tst2)
'"([[\'name\', u\'bob-21\'], [\'name\', u\'john-28\']], True)"'

答案 1 :(得分:4)

虽然我喜欢Adam对str()的建议,但我会倾向于repr(),因为你明确地寻找一个类似python语法的对象表示。判断help(str),其元组的字符串转换最终可能会在将来的版本中以不同的方式定义。

class str(basestring)
 |  str(object) -> string
 |
 |  Return a nice string representation of the object.
 |  If the argument is a string, the return value is the same object.
 ...

help(repr)

相对
repr(...)
    repr(object) -> string

    Return the canonical string representation of the object.
    For most object types, eval(repr(object)) == object.

在今天的实践和环境中,两者之间几乎没有什么区别,因此请使用最能描述您需求的内容 - 您可以反馈给eval(),或用于消费用户的内容。

>>> str(tst)
"([['name', u'bob-21'], ['name', u'john-28']], True)"
>>> repr(tst)
"([['name', u'bob-21'], ['name', u'john-28']], True)"