Python 如何打印或返回按字母顺序分隔的新行集合中的元素?

Python 如何打印或返回按字母顺序分隔的新行集合中的元素?,python,Python,比如说, 如果有一组元素[Alex,Bill,Brian,Chris] 如何按以下格式打印 Alex Bill, Brian Chris 我尝试使用嵌套for循环检查每个元素的第一个字母,但我想知道是否有更有效的方法。使用itertools.groupby: l = ['Alex', 'Bill', 'Brian', 'Chris'] groups = itertools.groupby(l, lambda x: x[0]) for item in gb: print(', '.j

比如说,

如果有一组元素
[Alex,Bill,Brian,Chris]

如何按以下格式打印

Alex

Bill, Brian

Chris

我尝试使用嵌套for循环检查每个元素的第一个字母,但我想知道是否有更有效的方法。

使用
itertools.groupby

l = ['Alex', 'Bill', 'Brian', 'Chris']
groups = itertools.groupby(l, lambda x: x[0])
for item in gb:
    print(', '.join(item[1]))

这是我的代码版本,它不需要任何嵌套循环(只需要一个for循环)


显示您编写的无法解决问题的代码。所谓“set”,是指“set”还是“list”?我这样问是因为
[Alex,Bill,Brian,Chris]
是一个列表文字。集合文字有花括号。这是一个重要的区别,因为这些类型中只有一种具有排序方法。
myList=['Alex','Bill','Brian','Chris'] # Data type can be set too
myList=sorted(myList) # sorted() will return a sorted list of your given list or set
for i in range(len(myList)-1):
    f=myList[i]
    s=myList[i+1]
    if f[0]!=s[0]:
        print(f)
    else:
        print(f,end=', ')
print(myList[-1])