Nested Lists
问题描述
- 给予N个学生的姓名和分数
- 将它们存储在一个嵌套列表中
- 并打印成绩第二低的任何学生的名字
样例演示
5
Harry
37.21
Berry
37.21
Tina
37.2
Akriti
41
Harsh
39
Berry
Harry
参考代码
Result =[]
scorelist = []
if __name__ == '__main__':
for _ in range(int(input())):
name = input()
score = float(input())
Result+=[[name,score]]
scorelist+=[score]
b=sorted(list(set(scorelist)))[1]
for a,c in sorted(Result):
if c==b:
print(a)
students = [[input(),float(input())] for i in range(int(input()))]
second_highest = sorted(set(j for i,j in students))[1]
print("\n".join(sorted(i for i,j in students if j==second_highest)))
总结
1.join的用法:
- 语法: ‘sep’.join(seq)
- sep:分隔符。可以为空
- seq:要连接的元素序列、字符串、元组、字典
2.sorted是Python 内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。
list = sorted(iterable, key=None, reverse=False)
- iterable 表示指定的序列
- key 参数可以自定义排序规则
- reverse 参数指定以升序(False,默认)还是降序(True)进行排序
- 最终能返回一个排好序的列表
- 样例:
#自定义按照字符串长度排序
print(sorted(chars,key=lambda x:len(x)))
|