Python,在列表中排列列表而不使用.sort()

Python,在列表中排列列表而不使用.sort(),python,list,sorting,merge,Python,List,Sorting,Merge,这么说吧 def arrange(Lists, type): '''your code''' 鉴于: Lists = [[['q', 'Leap Strike', 'Jax'],['w', 'Mocking shout', 'Tryndamere']],[['r', 'Ace in hole', 'Caitlyn']...[button, description, name]]] 还考虑到: type can be button, description or name 查找: 预

这么说吧

def arrange(Lists, type):
    '''your code'''
鉴于:

Lists = [[['q', 'Leap Strike', 'Jax'],['w', 'Mocking shout', 'Tryndamere']],[['r', 'Ace in hole', 'Caitlyn']...[button, description, name]]]
还考虑到:

type can be button, description or name
查找:

预期产出:

[['r', 'Ace in hole', 'Caitlyn'],['q', 'Leap Strike', 'Jax'],['w', 'Mocking shout', 'Tryndamere']...]]
我的做法:

def arrange(Lists, type):
    result = []
    for list in lists:
        result += list
电流输出:

[['q', 'Leap Strike', 'Jax'],['w', 'Mocking shout', 'Tryndamere'],['r', 'Ace in hole', 'Caitlyn']...]]
在此之前,我将所有列表合并到一个新列表中。下一步是根据列表的类型对列表进行排序。我该怎么做?不使用。排序或排序

def my_sort(a_list):
    changes_exist = True
    while changes_exist:
         changes_exist = False
         for i in range(len(a_list)-1):
             if a_list[i] > a_list[i+1]:
                a_list = do_swap(a_list,i,i+1)
                changes_exist = True
    return a_list
可能是最简单的排序算法(使用适当的功能替换do_swap),并更改搜索比较以满足您的特定需要

from operator import itemgetter

def arrange(lst, column_name, columns=["number", "code", "name"]):
    item = columns.index(column_name)
    return sorted(lst, key=itemgetter(item))
就像

lst = [('C98124', 'book1', 'Shawn'), ('D12345', 'book2', 'James')]

arrange(lst, "name")
返回

[('D12345', 'book2', 'James'), ('C98124', 'book1', 'Shawn')]
(“Shawn”之前的“James”,如预期)


。。。用适当的操作替换已排序的。

作业警报!请提供更多详细信息,以便我们代表您提交。您能给出输入/输出的示例吗?您所说的“安排”是什么意思?应该产生什么样的顺序?你写过排序函数吗?谢谢你的评论,我希望编辑后更清晰。哈哈,这是我的第一篇帖子
[('D12345', 'book2', 'James'), ('C98124', 'book1', 'Shawn')]