有许多法律可供选择,没有人知道哪个是正确的,除非知道你想要什么。
首先,你可以只写a
的str
或repr
:
>>> a=[[1, 2, "hello"],[3, 5, "hi There"],[5,7,"I don't know"]]
>>> repr(a)
'[[1, 2, \'hello\'], [3, 5, \'hi There\'], [5, 7, "I don\'t know"]]'
请注意,
print
的作用是输出你给它的任何内容的
str
形式(但是对于列表,
str
与
repr
相同; 他们实质上都是
'[' + ', '.join(map(repr, self)) + ']'
)。
其次,你可以使用专门设计用于数据持久化的格式,例如JSON:
>>> json.dumps(a)
'[[1, 2, "hello"], [3, 5, "hi There"], [5, 7, "I don\'t know"]]'
第三,您可以以自己选择的方式将a
中每个元素的表示组合在一起,使用map
或理解很容易。例如:
>>> '[' + ', '.join(map(repr, a)) + ']'
'[[1, 2, \'hello\'], [3, 5, \'hi There\'], [5, 7, "I don\'t know"]]'
…或者…
>>> 'My stuff includes: ' + ','.join(map(repr, a)) + '\n'
'My stuff includes: [1, 2, \'hello\'],[3, 5, \'hi There\'],[5, 7, "I don\'t know"]\n'
或者您可以递归地执行相同的操作。
或者您可以将列表平铺(例如,使用itertools.chain
一步平铺,或使用itertools
文档中的配方或more-itertools
包进行递归平铺),然后以任何您想要的方式对这些部分进行字符串化,然后将它们连接起来。
或者您可以只写单词LIST
。
所有这些都是可以传递给write
的完全有效的内容。
write('stuff')
就可以了。 - abarnert