1、读入文件。由于这个文件并不大,我们可以一次性读入,为了方便,这次我们按行读为列表形式。

2、建立学成绩列表,将每个学生作为一个子列表存入成绩列表。
3、计算每个学生总分。我们分析一下目前得到的成绩列表,可以看出其中第0个子列表是表头,从第1个子列表向后依次是每个学生信息,每个学生的成绩是子列表中的后三个。于是我们先给第0个列表加上“总分”项,然后对每个学生成绩计算总分,写入列表。为了便于后面排序,把得到总分再转化为字符。
4、对学生成绩按总分进行排序。使用sort函数排序,其中用lambda指定排序项为第5列的总分,用reverse指定是否要降序排列。
5、将排序后结果打印到屏幕上。通过for函数遍历每行、每列,并在每行结束后打印一个换行,这样效果会更好。
6、将得到结果写入文本。
用w模式写入一个新文件,写的时候要注意遍历成绩列表,对其中的子列表每个原因加上"\t",每个子列表结束后再进行换行。
不会排序的,你的例子只是恰好碰上了,你换一些其他的数字,数字多一点,就不会了,比如
不会排序的,你的例子只是恰好碰上了,你换一些其他的数字,数字多一点,就不会了,比如
set是无序集合,python不保证其中元素的次序。打印结果取决于其内部存储结构和输出方式。
你打个长的就知道了
说明它是按类似二维数组的方式保存的,先把重复的元素剔除,然后把元素按21436587的顺序存进二维数组
首先要明白冒泡排序的一个原理。原理就是对比,第一个第二个数进行比较。第二第三个数据比较,然后依次后面慢慢都全部比较一遍。
比较过程中。前面和后面的两个数进行比较,其中大的数,向右移一格。如果大的书在左边,那就它就像右移一个。如果大的数在原来就在右边的,那就它不动。所以说你这个问题意思就是两个数进行比较,比较完之后把大的数向右移一格。就是两边数值对换一下。
假设原来的两个list是L1,L2. 1,合并:L = L1+L2 2,排序sorted(L) 默认从小到大排列,如果要从大到小排列就是sorted(L,reverse=True) 合起来就是 L=sorted(L1+L2, reverse=True)