Python:基于项和外键的排序列表

时间:2017-02-16 03:34:52

标签: python sorting

我有一个如下列表:

cba

和字符串cba

我想根据第一项和字符串[['c', 789], ['b', 456], ['a', 123]] 所在的顺序对列表进行排序:

    while(scanner.hasNext()){
        if (scanner.hasNextDouble()) {
            System.out.println("double="+scanner.nextDouble());
        }else{
            System.out.println("string="+scanner.next());
        }
    }

最好的方法是什么?

1 个答案:

答案 0 :(得分:7)

这适用于使用id Item Category Next_Category 1 "CRANBERRY 10PKTS CARTON, BLUEBERRY 20PKTS CARTON" 2 2 1 "CRANBERRY 10PKTS CARTON, BLUEBERRY 20PKTS CARTON" 2 1 1 "CRANBERRY 10PKTS CARTON" 2 1 1 "CRANBERRY 10PKTS CARTON" 2 2 1 "CRANBERRY 10PKTS CARTON, BLUEBERRY 20PKTS CARTON" 2 NA / key list.sort的{​​{1}}:

sorted

如果密钥字符串很大,重复的mylist = [['a', 123], ['b', 456], ['c', 789]] mykey = 'cba' mylist.sort(key=lambda x: mykey.index(x[0])) 调用效率会很低(如果这是一个问题,请将index一次映射到索引,例如dict,然后mykeydict = {k: i for i, k in enumerate(mykey)}),但是对于短到中等长度,key=lambda x: mykeydict[x[0]]调用足够便宜(index每个项目只执行一次,而不是每次比较)。