我有一个列表,我对该列表调用一个函数,使其按字典顺序打印该列表。字典序基本上是一个sort(),这并不重要,但我希望这个列表在新的一行中对每个条目进行排序。现在它就像这样打印出来
['(011)', '(022)', '(040)', '(04344)', '(044)', '(04546)', '(0471)', '(080)', '(0821)'] 当我想的时候
011
022
etc我尝试使用for循环,但这使情况变得更糟。我试过了
print (lexicographic(uniquelist), sep = '\n') 但这并没有改变任何事情。我甚至尝试创建一个新的空列表并添加,但这不会有任何效果,新的行功能在没有函数“字典”调用的情况下可以工作。
print(lexicographic(uniquelist), sep = '\n')
(04344)
(080)
(044)
(011)
(0821)
(022)
(040)
(0471)
(04546)本应如此,但已按字典顺序排序,并在新行上
发布于 2019-05-22 07:00:45
有两种方法可以做你喜欢的事情:
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)输出为:
(011)
(022)
(040)
(04344)
(044)
(04546)
(0471)
(080)
(0821)如果你不想要这个括号,
for item in sorted(uniques):
print(item[1:-1])发布于 2019-05-22 07:03:35
在词法函数中,尝试执行以下操作
for l in lexographically_sorted_list:
print (l)发布于 2019-05-22 07:09:28
如果只想在一行中打印列表中的每个元素,可以使用:[print(elt) for elt in list]
下面是一个去掉括号的例子:
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希望对大家有所帮助!
https://stackoverflow.com/questions/56247181
复制相似问题