如何在列表的特定部分调用基数排序?

时间:2018-08-11 12:06:54

标签: list anagram radix-sort

嗨,我有一个列表清单:

[['arr', 'arr'], ['rar', 'arr'], ['bad', 'abd'], ['jk', 'jk'], ['arr', 'arr']]

首先,我在整个列表中调用基数排序,以便将具有相同第二个字符串('arr','abd','jk')的列表的每个列表组合在一起: 列表变成这样:

[['bad', 'abd'], ['arr', 'arr'], ['rar', 'arr'], ['arr', 'arr'], ['jk', 'jk']]

现在我要按列表中每个列表的第一个字符串排序,但要按按具有相同键的字谜组进行排序。所以整个列表将是这样:

 [['bad', 'abd'],  **['arr', 'arr'], ['arr', 'arr'],['rar', 'arr']**
['jk', 'jk']]

这是我的基数排序输入参数:

def radixSort(arr, indexWordinList,indexStartToSort, indexEndToSort,lower, upper):

这就是我尝试过的:

groupIndexStart=0
 groupIndexEnd=0
anagramKey=tempList[0][1]

index=0

while index<(len(tempList)-1):
    if tempList[index+1][1]==anagramKey:
        groupIndexEnd+=1

    else:
        radixSort(tempList,0,groupIndexStart,groupIndexEnd,'a','z')
        groupIndexStart=groupIndexEnd+1
        groupIndexEnd=0
    index+=1

但是输出是这个吗?

[['arr', 'arr'], ['arr', 'arr'], ['bad', 'abd'], ['jk', 'jk'], ['rar', 'arr']]

任何帮助将不胜感激。

0 个答案:

没有答案