python二位列表排序
时间: 2023-09-12 07:10:05 浏览: 46
可以使用sort()函数对二维列表进行排序,示例代码如下:
```python
my_list = [[1, 2], [2, 3], [3, 1]]
my_list.sort(key=lambda x: x[1])
print(my_list)
```
输出结果为:`[[3, 1], [1, 2], [2, 3]]`,表示按照二位列表中第二个元素的大小进行升序排序。
相关问题
python中二位列表排序
可以使用sorted()函数和lambda函数来对二维列表进行排序,例如:
```python
my_list = [[4, 2], [1, 8], [5, 5], [3, 0]]
sorted_list = sorted(my_list, key=lambda x: x[0]) # 按照第一列元素升序排列
print(sorted_list)
sorted_list = sorted(my_list, key=lambda x: x[1], reverse=True) # 按照第二列元素降序排列
print(sorted_list)
```
输出结果为:
```
[[1, 8], [3, 0], [4, 2], [5, 5]]
[[1, 8], [5, 5], [4, 2], [3, 0]]
```
如果想要在一个二维列表中按照多个列进行排序,可以将lambda函数中的key参数设置为一个元组,例如:
```python
my_list = [[4, 2, 'a'], [1, 8, 'c'], [5, 5, 'b'], [3, 0, 'd']]
sorted_list = sorted(my_list, key=lambda x: (x[0], -x[1])) # 先按照第一列升序排列,再按照第二列降序排列
print(sorted_list)
```
输出结果为:
```
[[1, 8, 'c'], [3, 0, 'd'], [4, 2, 'a'], [5, 5, 'b']]
```
python实现一个二位组数按行排序
可以使用Python内置的sorted函数和lambda表达式来实现按行排序。
示例代码如下:
```python
# 定义一个二维组数
nums = [[3, 2], [1, 4], [5, 3]]
# 按行排序
sorted_nums = sorted(nums, key=lambda x: x[0])
print(sorted_nums) # 输出[[1, 4], [3, 2], [5, 3]]
```
在上面的示例代码中,我们使用了sorted函数进行排序,其中的key参数传入了一个lambda表达式,表示按照二维组数的第一个元素进行排序。如果要按照第二个元素进行排序,只需要将lambda表达式改为x[1]即可。
注意,sorted函数会返回一个新的排好序的列表,不会修改原有的二维组数。如果要修改原有的二维组数,可以使用sort方法。