在Python中以某种模式对数组进行排序

时间:2019-12-22 03:43:13

标签: python arrays sorting

我有这个数组a = ['箭头','橙色','将','水','歌剧','苹果'],我希望它以所有以'开头的单词的方式排序o'首先是那些以'w'开头的字符,最后是那些以'a'开头的字符。最终数组应为['orange','opera','water','will','arrow','apple']。下面的代码是我尝试过的,但是我认为可以用更好的方法来完成,而不必循环三遍:

def serList():
    sample = ['arrow','orange','will','water','opera','apple']
    b = []
    for i in sample:
        if i.startswith('o') or i.startswith('O'):
            b.append(i)
    for i in a:
        if i.startswith('w') or i.startswith('W'):
            b.append(i)
    for i in a:
        if i.startswith('a') or i.startswith('A'):
            b.append(i)
    print(b) 

serList()

0 个答案:

没有答案