如何“正确”打印列表?

108 投票
9 回答
381824 浏览
提问于 2025-04-16 14:29

我有一个列表:

['x', 3, 'b']

我想要的输出是:

[x, 3, b]

我该如何在Python中做到这一点呢?

如果我用 str(['x', 3, 'b']),我得到的结果会带引号,但我不想要引号。

9 个回答

20

仅使用打印功能:

>>> l = ['x', 3, 'b']
>>> print(*l, sep='\n')
x
3
b
>>> print(*l, sep=', ')
x, 3, b
22

这段代码很简单,所以如果你是新手,应该很容易理解。

mylist = ["x", 3, "b"]
for items in mylist:
    print(items)

它会把所有内容打印出来,没有引号,就像你想要的那样。

202

在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()方法合并成一个字符串。接着,%字符串格式化操作符会把字符串放进"[%s]"中的%s位置。

撰写回答