python按照字符串里面的数字,对字符串排序
时间: 2023-06-07 08:09:59 浏览: 142
可以使用 Python 中的 sorted() 函数来对字符串中的数字进行排序。在 sorted() 函数中使用 key 参数,并将其设置为 lambda 表达式,lambda 表达式中的 x 表示字符串中的每个元素。将每个元素中的数字部分作为排序的关键字即可。下面是一个示例代码:
```
str_list = ['a1', 'b3', 'c2']
sorted_list = sorted(str_list, key=lambda x: int(''.join(filter(str.isdigit, x))))
print(sorted_list)
```
输出结果为:
```
['a1', 'c2', 'b3']
```
相关问题
python按照字符串某个位置后面的数字,对字符串排序
可以使用Python的sorted函数,其中key参数指定排序关键字为字符串位置后面的数字,示例代码如下:
```python
strings = ['abc12', 'def8', 'ghi3', 'xyz56']
sorted_strings = sorted(strings, key=lambda s: int(s[s.find(digits)+1:]) if (digits:=re.search('\d', s)) else 0)
print(sorted_strings)
```
输出结果为:
```
['ghi3', 'def8', 'abc12', 'xyz56']
```
其中lambda表达式使用正则表达式找到第一个数字,转成整数作为排序关键字,如果字符串中没有数字,则返回0作为排序关键字。
python按照字符串某个元素后面的数字,对字符串排序
可以使用Python的sort函数配合lambda表达式实现字符串按照数字排序。具体代码如下:
```python
str_list = ['str1', 'str3', 'str2', 'str5', 'str4']
sorted_str_list = sorted(str_list, key=lambda x: int(x[3:]))
print(sorted_str_list)
```
运行结果如下:
```
['str1', 'str2', 'str3', 'str4', 'str5']
```
该代码首先定义一个包含字符串的列表str_list,然后使用sort函数和lambda表达式将列表中的字符串按照数字进行排序,并将排序后的结果赋值给sorted_str_list变量,最后输出sorted_str_list。其中lambda表达式x: int(x[3:])表示按照字符串中第四个字符后面的数字进行排序,因为字符串顺序是从第四个字符开始的。
阅读全文