Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何按特定顺序对列表进行排序_Python - Fatal编程技术网

Python 如何按特定顺序对列表进行排序

Python 如何按特定顺序对列表进行排序,python,Python,我正在研究置乱排序函数,该函数包含两个参数: 要排序的字符串列表 显示字母表中字母顺序的字符串(不一定是标准顺序) 它返回根据第二个参数排序的字符串列表 例如: scramble(['abc', 'bac', 'abb'], 'cba') 应该回来 ['bac', 'abc', 'abb'] 此调用中的第二个参数显示为便于比较,c

我正在研究置乱排序函数,该函数包含两个参数:

  • 要排序的字符串列表
  • 显示字母表中字母顺序的字符串(不一定是标准顺序)
  • 它返回根据第二个参数排序的字符串列表

    例如:

    scramble(['abc', 'bac', 'abb'], 'cba')
    
    应该回来

    ['bac', 'abc', 'abb']
    
    此调用中的第二个参数显示为便于比较,c
    def scramble(l : [str], ordering : str) -> [str]:
        for i in ordering:
            for h in l:
                l.sort(key = h.index(i))
                break
        return l
    
    我的代码不起作用,我只是按照列表中项目的字母索引(根据顺序)对列表进行排序。有人能帮我修改代码吗

    def scramble(words, order):
        return sorted(words, key = lambda word: [order.index(char) for char in word])