python lambda 排序 是否对字符串生效
时间: 2023-08-30 15:12:31 浏览: 80
Python的lambda排序可以对字符串进行排序,因为在Python中,字符串也可以被视为序列。可以使用字符串的字典序(即按照字母的ASCII码值进行排序)进行排序。下面是一个对字符串列表按照字符串长度进行排序的示例代码:
```
str_list = ['apple', 'banana', 'pear', 'orange']
sorted_str_list = sorted(str_list, key=lambda x: len(x))
print(sorted_str_list)
```
输出结果为:
```
['pear', 'apple', 'banana', 'orange']
```
说明lambda函数可以对字符串进行排序。
相关问题
python lambda 排序 能否按照字符串首字母顺序排序
是的,可以使用Python的lambda函数按照字符串的首字母顺序进行排序。下面是一个对字符串列表按照字符串首字母顺序进行排序的示例代码:
```
str_list = ['apple', 'banana', 'pear', 'orange']
sorted_str_list = sorted(str_list, key=lambda x: x[0])
print(sorted_str_list)
```
输出结果为:
```
['apple', 'banana', 'orange', 'pear']
```
说明lambda函数可以按照字符串的首字母顺序进行排序。
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码值,将其取负数即可实现逆序排序。
阅读全文