【问题标题】:How to print multiple items in a list as a string?如何将列表中的多个项目打印为字符串?
【发布时间】:2017-05-20 18:30:02
【问题描述】:

我有一个名为的列表,其中包含许多项目。我想将前三个项目打印为一个字符串,每个项目都在一个新行上。如果我输入:

print str(combined[0]) 

;它将第一项作为字符串打印出来,而不是在 [''] 内。

但是,如果我尝试通过使用前三个来做同样的事情:

print str(combined[0:3]) 

;它打印前三个项目,但仍在列表中。

如何将列表中的这三项打印为字符串,每一项都换行?

【问题讨论】:

  • 打印 "\n".join(combined[:3])

标签: python string list printing


【解决方案1】:

试试:

print "\n".join(combined[0:3])

来自 Python docs

str.join(iterable)

返回一个字符串,它是可迭代迭代中字符串的串联。元素之间的分隔符就是提供这个方法的字符串。

如果您的列表 combined 包含非字符串,您可能首先需要将它们转换为字符串(例如使用 map(str, ...)

print "\n".join(map(str, combined[0:3]))

【讨论】:

  • 一个小问题 - 如果你想从列表的开头开始,python 允许你说combined[:3]。这更精确一点,通常比combined[0:3] 更受欢迎(类似地,你会说some_list[-3:] 表示你想要列表的最后三个元素)
  • 我也更喜欢较短的语法,@JonKiparsky,但为了更清楚,我尽量坚持问题的原始表达。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-16
  • 2021-05-12
  • 1970-01-01
相关资源
最近更新 更多