小编Tur*_*tle的帖子

Python3使用Lambda和Sort排序元组列表

我有一个按第二个元素排序的元组列表,如下所示:

[('7', 10), ('2', 9), ('8', 9)]
Run Code Online (Sandbox Code Playgroud)

我想按照他们的第一个元素对它们进行排序:

[('2',9),('7', 10),('8', 9)]
Run Code Online (Sandbox Code Playgroud)

我试过了:

test_val = [('7', 10), ('2', 9), ('8', 9)]
test_val.sort(key=lambda x: x[0])
Run Code Online (Sandbox Code Playgroud)

我从这里找到

但是,列表未排序.

真实数据示例:

在尝试之前:

[('7', 10), ('2', 9), ('8', 9), ('6', 8), ('24', 8), ('3', 7), ('5', 7), ('9', 6), ('35', 6), ('15', 5), ('16', 5), ('1', 4), ('14', 4), ('17', 3), ('19', 3), ('12', 2), ('39', 2), ('26', 1), ('25', 1), ('22', 0)]
Run Code Online (Sandbox Code Playgroud)

尝试后:

[('1', 4), ('12', 2), ('14', 4), ('15', 5), ('16', …
Run Code Online (Sandbox Code Playgroud)

python sorting lambda list

1
推荐指数
1
解决办法
776
查看次数

忽略拆分字符串的第一部分

如果我有一个类似的字符串:1234_my_string.txt有一个比提供的更好的方法来删掉1234_所以字符串的值将等于my_string.txt

为了清楚起见,我想丢弃所有内容,包括字符串中的第一个"_".该字符串不一定等于"1234_my_string.txt".第一个'_'之前的字符长度未知.

伪代码:

String str = "1234_my_string.txt";
do foo
str == my_string.txt
Run Code Online (Sandbox Code Playgroud)

这是我目前的一个工作示例,它检查str的值然后拆分并重新加入字符串以获得所需的结果.我想要删掉的字符大小是未知的.我不认为这是非常有效的:

        if(str != null && !str.equals("") )
        {
            String [] strParts = str.split("_");
            val = "";

            for (int i = 1; i < strParts.length; i++)
            {
                str += strParts[i];
                str += "_";
            }

            str = str.substring(0, str.length()-1);
        }
Run Code Online (Sandbox Code Playgroud)

java string

0
推荐指数
1
解决办法
41
查看次数

标签 统计

java ×1

lambda ×1

list ×1

python ×1

sorting ×1

string ×1