排序列表,而不是我想要的输出

时间:2015-11-07 19:28:31

标签: sorting python-3.x

我正在从列表中对名称列表进行排序。我想以某种方式对名称进行排序,以便将名称打印在不同的行上,而不是整个列表,例如for-loop?

像这样;

Abc
Bcd
Cde
Def

不是['Abc', 'Bcd', 'Cde', 'Def']

但是这会对每个名称中的所有字母进行排序,而不是名称的元素:

for names in nameslist:
  names = sorted(names)
  print(names)

这样做的正确方法是什么? sort()不起作用(AttributeError: 'str' object has no attribute 'sort')。

2 个答案:

答案 0 :(得分:2)

您可以使用换行符加入名称:

print('\n'.join(names))

答案 1 :(得分:1)

您可以查看排序方法: https://docs.python.org/3/howto/sorting.html

至于你的情况。我认为这可以帮到你:

for name in sorted(namelist): 
    print( name )