假设我们用一组tuple表示学生名字和成绩: L = [("Bob", 75), ("Adam", 92), ("Bart", 66), ("Lisa", 88)],请对上述列表分别按成绩升序、降序排序
时间: 2023-11-03 08:03:38 浏览: 102
好的,针对这个问题,我可以提供以下 Python 代码来对列表进行排序:
```python
L = [("Bob", 75), ("Adam", 92), ("Bart", 66), ("Lisa", 88)]
# 按成绩升序排序
sorted_by_score_asc = sorted(L, key=lambda x: x[1])
# 按成绩降序排序
sorted_by_score_desc = sorted(L, key=lambda x: x[1], reverse=True)
print(sorted_by_score_asc)
print(sorted_by_score_desc)
```
输出结果分别为:
```
[('Bart', 66), ('Bob', 75), ('Lisa', 88), ('Adam', 92)]
[('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]
```
其中,`sorted()` 函数的第一个参数是要排序的列表,第二个参数是一个用来指定排序方式的 `key` 函数,`lambda x: x[1]` 表示按照列表中每个元素的第二个元素(即成绩)进行排序,`reverse=True` 表示按降序排序。
相关问题
假设我们用一组tuple表示学生名字和成绩:L =[("Bob", 75), ("Adam", 92), ("Bart", 66), ("Lisa", 88)],请对上述列表分别按成绩升序、降序排序
按成绩升序排序可以使用sorted函数和lambda表达式:
```python
L = [("Bob", 75), ("Adam", 92), ("Bart", 66), ("Lisa", 88)]
L_sorted = sorted(L, key=lambda x: x[1])
print(L_sorted)
```
输出结果为:
```
[('Bart', 66), ('Bob', 75), ('Lisa', 88), ('Adam', 92)]
```
按成绩降序排序可以使用sorted函数和lambda表达式:
```python
L = [("Bob", 75), ("Adam", 92), ("Bart", 66), ("Lisa", 88)]
L_sorted = sorted(L, key=lambda x: x[1], reverse=True)
print(L_sorted)
```
输出结果为:
```
[('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]
```
假设用一组tuple表示学生名字和成绩, L = [(‘Bob’, 75), (‘Adam’, 92), (‘bart’, 66), (‘Lisa’, 88)] 请用sorted()函数对上述列表分别:按名字排序。
Sure, 我可以回答这个问题。针对这个问题,可以使用`sorted()`函数按名字排序。代码如下:
```
L = [('Bob', 75), ('Adam', 92), ('bart', 66), ('Lisa', 88)]
sorted_by_name = sorted(L, key=lambda x: x[0])
print(sorted_by_name)
```
输出结果为:
```
[('Adam', 92), ('Bob', 75), ('Lisa', 88), ('bart', 66)]
```
按照名字排序后,结果为:Adam, Bob, Lisa, bart。