【发布时间】:2019-08-07 14:51:12
【问题描述】:
我在列表中有一个看起来像这样的列表
[['a', 9] , ['b', 1] , ['c', 4] , . . ., ['z', 2]]
从这里开始,我想将列表中的每个列表逐行打印出来,看起来像这样
['a',9]
['b',1]
.
.
['z',2]
我知道我可以像这样使用循环打印出来:
for i in list:
print(i)
但我的问题是,可以不使用循环来完成吗?就像只打印一行而不与循环交互一样。 (我打算使用一些警报功能,所以我希望它出现在包含所有列表的一条大消息中,而不是多条消息,每个消息都有一个列表)
我试过这个:
print(list, sep='\n')
但它不会在每个列表中分成一行。我也试过这个:
print('\n'.join(list))
并且发生了这个错误:
TypeError: sequence item 0: expected str instance, list found
这似乎不适用于列表中的列表。有什么想法吗?
【问题讨论】:
-
对于上一个错误,请尝试
print('\n'.join(map(str, list))) -
您可以将此作为答案发布
-
当你说你想在某种警报功能中打印这个是什么意思?你会重定向 print 使用的输出流吗,或者你打算怎么做?
-
我创建了一个函数,它像 print() 一样工作,但不是将它打印到终端,而是将这个函数内的值发送到聊天。我在这里避免循环,因为我希望它只是一条大消息而不是多条消息@tobias_k
-
好的,但是你将如何将
print的知识转移到你的函数中呢?例如。你的函数是否也支持print(*lines)语法?不过,'\n'.join应该可以工作。根据您的聊天方式,您也可以尝试print(..., file=your_chat_stream)