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')]