['张三',21], ['李四',23], ['赵武',20], ['钱柳',22]输出二维列表按年龄排序
时间: 2023-10-23 16:16:16 浏览: 143
可以使用Python内置函数sorted和lambda表达式来实现按年龄排序,具体代码如下:
```
lst = [['张三',21], ['李四',23], ['赵武',20], ['钱柳',22]]
lst_sorted = sorted(lst, key=lambda x: x[1])
print(lst_sorted)
```
输出结果为:
```
[['赵武', 20], ['张三', 21], ['钱柳', 22], ['李四', 23]]
```
其中,key参数指定排序时的关键字,这里使用lambda表达式指定以二维列表中的第二个元素(即年龄)作为排序依据。sorted函数默认按照升序排序,如果要按照降序排序,可以添加reverse=True参数。
相关问题
['张三',21], ['李四',23], ['赵武',20], ['钱柳',22]输出二维列表中5位学生的姓名按年龄排序
首先需要对二维列表按照年龄进行排序,可以使用Python内置的`sorted`函数,同时可以使用`lambda`表达式指定排序规则:
```python
students = [['张三', 21], ['李四', 23], ['赵武', 20], ['钱柳', 22]]
sorted_students = sorted(students, key=lambda x: x[1])
```
然后从排序后的列表中取出前5位学生的姓名即可:
```python
for student in sorted_students[:5]:
print(student[0])
```
完整代码如下:
```python
students = [['张三', 21], ['李四', 23], ['赵武', 20], ['钱柳', 22]]
sorted_students = sorted(students, key=lambda x: x[1])
print('前5位学生的姓名按年龄排序:')
for student in sorted_students[:5]:
print(student[0])
```
输出结果为:
```
前5位学生的姓名按年龄排序:
赵武
张三
钱柳
李四
```
阅读全文