在Python中打印一个没有引号的列表的5种最佳方法

1,404 阅读3分钟

问题的提出

💬 如何在 Python 中打印一个不带引号的列表?

给出一个Python 的字符串列表 ,如['1', '2', '3']

如果你使用print(['1', '2', '3']) 将列表打印到 shell 上,输出结果被括在方括号中,字符串有引号,像这样。 "`['1', '2', '3']`".

本文将向您展示如何以三种不同的方式打印该列表

  1. 不带引号。
  2. 不带引号和逗号。
  3. 不带引号、逗号和括号。
print(['1', '2', '3'])
# Output: ['1', '2', '3']
'''
Desired Output:
1. [1, 2, 3]
2. [1 2 3]
3. 1 2 3
'''

让我们从最简单的方法开始,马上完成第一个方法!

方法1:打印不带引号的列表

要打印不带引号的字符串列表,请使用表达式'[' + ', '.join(lst) + ']' ,创建一个没有各个字符串周围的引号的列表的单一字符串表示。

下面是一个例子。

# Print List Without Quotes
lst = ['1', '2', '3']

# Create List Representation
s = '[' + ', '.join(lst) + ']'

# Print List
print(s)
# [1, 2, 3]

我们使用了以下的 Python 特性。如果你需要其中任何一个的背景,请查看文章。

  • 字符串连接法,将开头和结尾的括号以及没有引号的字符串元素粘合在一起。
  • Python的字符串 [join()](https://blog.finxter.com/python-string-join/)方法,从字符串列表中创建一个大字符串。

方法 2:打印没有引号和逗号的列表

要打印一个没有引号和逗号的字符串列表,使用表达式'[' + ' '.join(lst) + ']' ,创建一个没有各个字符串周围的引号和没有分隔列表元素的逗号的列表的单一字符串表示。你可以根据你的需要改变分隔符串(例如,在表格字符上加入)。

下面是一个例子。

# Print List Without Quotes and Commas
lst = ['1', '2', '3']

# Create List Representation
s = '[' + ' '.join(lst) + ']'

# Print List
print(s)
# [1 2 3]

方法3:打印没有引号、逗号和括号的列表

要打印一个没有引号、逗号和括号的字符串列表,请使用' '.join(lst) 方法来创建列表的单一字符串表示。你可以根据你的需要改变分隔符串(例如,在表格字符上加入', '.join(lst) )。

这里有一个例子。

# Print List Without Quotes
lst = ['1', '2', '3']

# Create List Representation
s = ' '.join(lst)

# Print List
print(s)
# 1 2 3

奖励1:print()函数和解包

星号操作符 * 用来将一个可迭代的 东西解压到一个给定的函数的参数列表中。

你可以将所有的列表元素解压到 [print()](https://blog.finxter.com/python-print/ "Python print()")函数来单独打印所有的值,默认情况下用一个空位隔开(你可以用sep 参数来覆盖)。例如,表达式print(*my_list) 打印my_list 中的元素,空位隔开,没有包围的方括号,也没有分隔的逗号!

这里有一个例子。

my_list = [1, 2, 3]
print(*my_list)
# Output: 1 2 3

ℹ 注意:如果你想要一个不同的分隔符,你可以设置 [sep](https://blog.finxter.com/the-separator-and-end-arguments-of-the-python-print-function/)``print() 函数的参数。例如,print(*my_list, sep='|') 将使用竖条'|' 作为分隔符。

这里有一个例子。

my_list = [1, 2, 3]
print(*my_list, sep='|')
# Output: 1|2|3

你可以在以下视频中了解内置的 [print()](https://blog.finxter.com/python-print/ "Python print()")函数的来龙去脉,请看下面的视频。

奖励2:将字符串转换成整数列表

如果你想打印一个没有引号的列表,你可以字符串列表转换为整数列表,并使用星号运算符将所有整数解包到print() 函数中,像这样。print(*[int(x) for x in lst], sep=' ').

这里有一个例子。

# Print String List 
lst = ['1', '2', '3']
print(*[int(x) for x in lst], sep=' ')
# [1 2 3]