繁体   English   中英

将列表作为字符串打印在一行上

[英]Printing a list as a string on one line

因此,此代码的目标是从文本文件中的单词列表中打印尽可能多的排列。 我将所有这些排列保存为更大列表中的列表。 我正在尝试遍历较大的列表并将每个较小的列表打印为字符串。

例如如果我们在解析输入文件后有:[("hi", "bye", "tree"), ("bye", "hi", "tree")]

我想将其打印为:

冬青树

再见树

我目前拥有的代码是:点击这里获取代码

但这会返回:

你好

再见

再见

你好

只需使用 function print()的参数end

print(something,end="")

打印列表中的所有内容,

list = [("hi", "bye", "tree"), ("bye", "hi", "tree")]


for ind, elem in enumerate(list):
    for j in range(len(list[ind])):
        print(elem[j])

结果:

嗨再见树再见你好树

lst = [("hi", "bye", "tree"), ("bye", "hi", "tree")]
print(*(''.join(item) for item in lst), sep='\n')

解释

''.join()加入给定的项目,在你的情况下,传递的元组的元素与空字符串'' ,有效地连接它们。

*(''.join(item) for item in lst)为外部列表的每个项目运行所有这些。 每个item都是所述元组之一。 括号的意思是,这是一个生成器表达式,它立即用星号*解包。 这意味着每个结果元素都将作为位置参数传递给print()

打印这些项目中的每一个,由关键字参数sep指定的字符串分隔,默认为' ' ,即空格。 由于您希望将所有内容放在单独的行上,因此我们使用换行符'\n'代替。

使用内置map()的等效功能替代方案是:

lst = [("hi", "bye", "tree"), ("bye", "hi", "tree")]
print(*map(''.join, lst), sep='\n')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM