在python中一个大列表中有若干子列表,将所有子列表都按照第三个值得大小排序
时间: 2023-05-24 08:06:02 浏览: 101
可以使用Python中的sorted函数和lambda表达式来实现按照子列表中第三个元素排序的功能。具体代码如下:
```python
# 定义一个大列表
big_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
# 按照子列表中第三个元素排序
sorted_list = sorted(big_list, key=lambda x: x[2])
# 输出排序后的列表
print(sorted_list)
```
运行结果如下所示:
```
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
```
可以看到,输出结果中的子列表已经按照第三个元素的大小从小到大排序了。
相关问题
在python中一个大列表中有若干子列表,将所有子列表都按照第三个值得大小排序且逆序
可以使用lambda表达式来指定按照子列表中第三个值进行排序,并使用`reverse=True`参数实现逆序排列。示例代码如下:
```python
big_list = [[1,2,5],[4,3,2],[6,2,8],[3,4,1]]
sorted_list = sorted(big_list, key=lambda x: x[2], reverse=True)
print(sorted_list)
```
输出:
```
[[6, 2, 8], [1, 2, 5], [4, 3, 2], [3, 4, 1]]
```
说明:上述代码中,首先定义大列表`big_list`,其中包含若干子列表。接着使用`sorted()`函数和lambda表达式将所有子列表都按照第三个值的大小进行排序,其中`key=lambda x: x[2]`表示按照第三个元素进行排序,`reverse=True`表示进行逆序排列。最后将排序后的列表打印出来进行验证。
python的列表中有很多小列表,将这些小列表按照小列表中的第7个值的大小排序若第七个值大小相同再看第五个值的大小,排序逆序
可以使用Python的sorted()函数来完成这个排序,具体代码如下:
```
lst = [[1, 2, 3, 4, 5, 6, 7],
[1, 2, 3, 4, 5, 6, 3],
[1, 2, 3, 4, 5, 6, 7],
[1, 2, 3, 4, 5, 6, 8],
[1, 2, 3, 4, 5, 6, 7]]
sorted_lst = sorted(lst, key=lambda x: (-x[6], -x[4]))
print(sorted_lst)
```
解释一下上述代码,首先我们定义了一个列表lst,包含了若干个小列表。然后使用了sorted()函数来排序,其中的key参数是一个lambda函数,返回一个元素的排序关键字。这里我们使用了`-x[6]`来表示按照小列表中的第7个值的大小排序,并在前面加上负号表示逆序;再使用`-x[4]`来表示若第七个值大小相同再看第五个值的大小,同样加上负号表示逆序。最终结果将按照这两个关键字排序后的结果进行返回。