python lambda 排序 如何先按字符串首字母逆序排序,再按照数字大小排序
时间: 2023-08-24 22:32:40 浏览: 217
可以使用Python的lambda函数先按照字符串的首字母逆序进行排序,再按照数字大小排序。下面是一个对列表中的元素先按照字符串的首字母逆序进行排序,再按照数字大小排序的示例代码:
```
lst = ['a1', 'b2', 'c10', 'd3', 'e11', 'f10']
sorted_lst = sorted(lst, key=lambda x: (-ord(x[0]), int(x[1:])))
print(sorted_lst)
```
输出结果为:
```
['f10', 'e11', 'd3', 'c10', 'b2', 'a1']
```
说明lambda函数可以对列表中的元素先按照字符串的首字母逆序进行排序,再按照数字大小进行排序。需要注意的是,对于字符串的逆序排序,可以使用`-ord(x[0])`来实现,其中`ord()`函数返回字符的ASCII码值,将其取负数即可实现逆序排序。
相关问题
python lambda 排序 如何先按照数字大小排序,再按字符串首字母逆序排序
可以使用Python的lambda函数先按照数字大小排序,再按照字符串的首字母逆序进行排序。下面是一个对列表中的元素先按照数字大小排序,再按照字符串的首字母逆序进行排序的示例代码:
```
lst = ['a1', 'b2', 'c10', 'd3', 'e11', 'f10']
sorted_lst = sorted(lst, key=lambda x: (int(x[1:]), x[0]), reverse=True)
print(sorted_lst)
```
输出结果为:
```
['e11', 'f10', 'c10', 'd3', 'b2', 'a1']
```
说明lambda函数可以对列表中的元素先按照数字大小排序,再按照字符串的首字母逆序进行排序。同时,设置`reverse=True`参数可以实现逆序排序。
python list 字符串排序
在Python中,可以使用sort()方法对列表进行排序。如果列表中的元素是字符串类型,sort()方法将按照字母顺序对字符串进行排序。下面是一个示例:
```python
my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort()
print(my_list)
```
输出结果为:['apple', 'banana', 'cherry', 'date']
如果你想按照字符串的长度进行排序,可以使用sort()方法的key参数,并传递一个lambda函数来指定排序的依据。下面是一个示例:
```python
my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort(key=lambda x: len(x))
print(my_list)
```
输出结果为:['date', 'apple', 'cherry', 'banana']
如果你想按照字符串的长度进行逆序排序,可以将reverse参数设置为True。下面是一个示例:
```python
my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort(key=lambda x: len(x), reverse=True)
print(my_list)
```
输出结果为:['banana', 'cherry', 'apple', 'date']
阅读全文