首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在新行上打印列表

在新行上打印列表
EN

Stack Overflow用户
提问于 2019-05-22 06:41:34
回答 3查看 49关注 0票数 1

我有一个列表,我对该列表调用一个函数,使其按字典顺序打印该列表。字典序基本上是一个sort(),这并不重要,但我希望这个列表在新的一行中对每个条目进行排序。现在它就像这样打印出来

代码语言:javascript
复制
['(011)', '(022)', '(040)', '(04344)', '(044)', '(04546)', '(0471)', '(080)', '(0821)'] 

当我想的时候

代码语言:javascript
复制
011
022
etc

我尝试使用for循环,但这使情况变得更糟。我试过了

代码语言:javascript
复制
print (lexicographic(uniquelist), sep = '\n') 

但这并没有改变任何事情。我甚至尝试创建一个新的空列表并添加,但这不会有任何效果,新的行功能在没有函数“字典”调用的情况下可以工作。

代码语言:javascript
复制
print(lexicographic(uniquelist), sep = '\n')

(04344)
(080)
(044)
(011)
(0821)
(022)
(040)
(0471)
(04546)

本应如此,但已按字典顺序排序,并在新行上

EN

回答 3

Stack Overflow用户

发布于 2019-05-22 07:00:45

有两种方法可以做你喜欢的事情:

代码语言:javascript
复制
uniques = ['(04344)', '(080)', '(044)', '(011)',
           '(0821)', '(022)', '(040)', '(0471)',
          '(04546)']

# Join with new lines and print
print('\n'.join(sorted(uniques)))

# A classic loop, nothing wrong with this
for item in sorted(uniques):
    print(item)

输出为:

代码语言:javascript
复制
(011)
(022)
(040)
(04344)
(044)
(04546)
(0471)
(080)
(0821)

如果你不想要这个括号,

代码语言:javascript
复制
for item in sorted(uniques):
    print(item[1:-1])
票数 1
EN

Stack Overflow用户

发布于 2019-05-22 07:03:35

在词法函数中,尝试执行以下操作

代码语言:javascript
复制
for l in lexographically_sorted_list:
    print (l)
票数 1
EN

Stack Overflow用户

发布于 2019-05-22 07:09:28

如果只想在一行中打印列表中的每个元素,可以使用:[print(elt) for elt in list]

下面是一个去掉括号的例子:

代码语言:javascript
复制
list = ['(0821)', '(011)', '(080)', '(022)',  '(04344)', '(040)', '(044)', '(04546)', '(0471)', ]

# sort 
list.sort()

# Print each element per line
[print(elt[1:-1]) for elt in list]
# 011
# 022
# 040
# 04344
# 044
# 04546
# 0471
# 080
# 0821

希望对大家有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56247181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档