python lambda 排序 如和先按照数字大小排序,再按字符串首字母顺序排序
时间: 2023-08-24 07:32:39 浏览: 50
是的,可以使用Python的lambda函数先按照数字大小排序,再按照字符串的首字母顺序进行排序。下面是一个对列表中的元素先按照数字大小排序,再按照字符串的首字母顺序进行排序的示例代码:
```
lst = ['a1', 'b2', 'c10', 'd3', 'e11', 'f10']
sorted_lst = sorted(lst, key=lambda x: (int(x[1:]), x[0]))
print(sorted_lst)
```
输出结果为:
```
['a1', 'b2', 'd3', 'c10', 'f10', 'e11']
```
说明lambda函数可以对列表中的元素先按照数字大小排序,再按照字符串的首字母顺序进行排序。
相关问题
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 lambda 排序 如何先按字符串首字母逆序排序,再按照数字大小排序
可以使用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码值,将其取负数即可实现逆序排序。