如何“正确”打印列表?


问题内容

所以我有一个清单:

['x', 3, 'b']

我希望输出为:

[x, 3, b]

如何在python中执行此操作?

如果我这样做str(['x', 3, 'b']),我会用引号引起来,但我不希望引号。


问题答案:

在Python 2中:

mylist = ['x', 3, 'b']
print '[%s]' % ', '.join(map(str, mylist))

在Python 3中(其中print是内置函数,而不再是语法功能):

mylist = ['x', 3, 'b']
print('[%s]' % ', '.join(map(str, mylist)))

两者都返回:

[x, 3, b]

这是使用该map()函数为
mylist的 每个元素调用str
,创建一个新的字符串列表,然后使用将该字符串连接成一个字符串str.join()。然后,%字符串格式运算符将字符串替换为%sin
,而不是in "[%s]"