快速排序列表中单词的替代方法|蟒蛇

时间:2020-09-25 06:11:09

标签: python-3.x list performance sorting

我有一个单词列表,我想对列表中每个单词的字母以及列表中的所有单词进行排序。 我知道我可以遍历单词并像这样对它们进行排序 query_list = [''.join(sorted(i)) for i in query]. 但我想知道是否有快速的替代方法。

输入:['agd', 'dfc', 'acb', 'bdc']

预期输出:['abc', 'adg', 'bcd', 'cdf']

谢谢!

1 个答案:

答案 0 :(得分:0)

sorted()的实现或多或少是最好的最新实现,大多数情况下是快速排序。因此,没有快速的替代方案可以解决此问题。 您可以用C语言重写所有内容,但可能不会加快程序的速度(仅百分之几)。

不幸的是,为了加快案件处理速度,您只有一个答案:确实确实需要对每个项目进行排序,然后对所有项目进行排序。

Idea:如果列表中的实数数据只有3个字符,则可以通过仅重写这3个字符的排序(例如在C语言中)来进行优化的特定排序。 Qsort对于短系列的项目没有很好的优化。

相关问题