假设用一组tuple表示学生名字和成绩, L = [(‘Bob’, 75), (‘Adam’, 92), (‘bart’, 66), (‘Lisa’, 88)] 请用sorted()函数对上述列表分别:按名字排序。
时间: 2024-04-29 14:20:50 浏览: 126
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。
相关问题
假设用一组tuple表示学生名字和成绩, L = [(‘Bob’, 75), (‘Adam’, 92), (‘bart’, 66), (‘Lisa’, 88)] 请用sorted()函数对上述列表按分数排序。
当然可以!请看下面的代码:
```python
L = [('Bob', 75), ('Adam', 92), ('bart', 66), ('Lisa', 88)]
sorted_L = sorted(L, key=lambda x: x[1])
print(sorted_L)
```
输出结果为:
```python
[('bart', 66), ('Bob', 75), ('Lisa', 88), ('Adam', 92)]
```
解释一下,我们在使用`sorted()`函数时,传入了一个`key`参数,这个参数是用来指定排序规则的。我们这里使用了一个lambda表达式`lambda x: x[1]`,它的意思是对L中的每一个元素(x),使用其中的第二个元素(x[1])作为排序依据。这样就可以按照成绩从小到大排序了。
假设我们用一组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)]
```