day3列表
""" 列表(list)是一种有序的容器,放入list中的元素,将会按照一定顺序排列。 Alice同学某次考试语文(Chinese)、数学(Math)、英语(English)三科的成绩分别是92、75、99, 1、请使用list保存这些数据。 2、按科目显示分数 """ # 列表中的元素类型可以不同 l1 = ['Alice', 'Chinese', 92, 'Math', 75, 'English', 99] print(l1) # ['Alice', 'Chinese', 92, 'Math', 75, 'English', 99] # 分数和科目分别用两个列表显示,打印对应的分数 score = [92, 75, 99] classes = ['Chinese', 'Math', 'English'] num = 0 for i in classes: print(i + ':' + str(score[num])) num += 1 """ Chinese:92 Math:75 English:99 """ """ 列表迭代 """ L = ['Alice', 66, 'Bob', True, 'False', 100] for item in L: print(item) # 空列表使用循环迭代时不会打印出东西 L1 = [] for item in L1: print(item) print('******************************') """ 请使用迭代的方式按顺序输出列表 L = ['Alice', 66, 'Bob', True, 'False', 100] 的下标为偶数的元素 """ # 1、输出下标为偶数的元素: L = ['Alice', 66, 'Bob', True, 'False', 100] num = 0 for i in L: if num % 2 == 0: print(i) num += 1 print('---------------------------') # 2、输出下标为奇数的元素 for i in L: if num % 2 != 0: print(i) num += 1 # 2.1、输出下标为奇数,用continue的方式 for i in L: num += 1 if num % 2 != 0: continue print(i) print('==============================') """ 列表按索引查询元素:打印索引对应元素时,超范围报错;但切片时超范围只是获取不到元素 """ names = ['Alice', 'Bob', 'David', 'Ellena'] # print(names[4]) # IndexError: list index out of range # print(names[-5]) # IndexError: list index out of range sub_names = names[0:2] print(sub_names) # ['Alice', 'Bob'] print(names[2:5]) # ['David', 'Ellena'] print(names[4:5]) # [] """ 五名同学的成绩可以用一个list表示:L = [95.5, 85, 59, 66, 72],请按照索引的方式分别打印出第一名、第二名、第三名。 """ L = [95.5, 85, 59, 66, 72] # 索引正序 print(L[0], L[1], L[4]) # 索引倒序 print(L[-5], L[-4], L[-1]) # 95.5 85 72 """ 列表中新增元素: 1、append():将元素添加到list的尾部,只能一个一个添加 2、insert(下标,元素) :将元素插入列表的指定下标位置,且之前的元素下标像后移 3、extend(可迭代对象):可以用来组装两个列表,将可迭代对象的元素插入到列表的尾部 """ names = ['Alice', 'Bob', 'David', 'Ellena'] names.append('candy') print(names) names.insert(1, 'zoey') print(names) names.extend('cibo') print(names) names.extend([1, 'world']) print(names) """ ['Alice', 'Bob', 'David', 'Ellena', 'candy'] ['Alice', 'zoey', 'Bob', 'David', 'Ellena', 'candy'] ['Alice', 'zoey', 'Bob', 'David', 'Ellena', 'candy', 'c', 'i', 'b', 'o'] ['Alice', 'zoey', 'Bob', 'David', 'Ellena', 'candy', 'c', 'i', 'b', 'o', 1, 'world'] """ """ 练习: 已有列表['Alice', 'Bob', 'Candy', 'David', 'Ellena'], 利用append()方,insert(),extend()方法,把'Zero', 'Phoebe', 'Gen'三个元素的名字按首字母顺序插入到列表里去 """ names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena'] names.append('Phoebe') names.insert(-1, 'Gen') names.extend(['Zero']) print(names) # ['Alice', 'Bob', 'Candy', 'David', 'Ellena', 'Gen', 'Phoebe', 'Zero'] """ 从list删除元素: 1、pop():默认删除列表的最后一个元素,也可指定下标删除 2、remove():删除列表中的某个元素 3、del L[0]:删除列表中的某个元素 del L:删除列表 """ L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena'] L.pop() L.pop(0) print(L) # ['Bob', 'Candy', 'David'] L.remove('Candy') print(L) # ['Bob', 'David'] del L[0] print(L) # ['David'] del L # print(L) """ 二维数组 """ alice_scores = [100, 89, 92] bob_scores = [70, 65, 81] candy_scores = [88, 72, 77] all_scores = [alice_scores, bob_scores, candy_scores] print(all_scores) print(all_scores[1][2]) # 81 """ 练习:有三个长方体,他们的长宽高分别是[1, 2, 3], [5, 3, 2], [7, 3, 2], 定义在数组L中,L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]],请分别求出三个长方体的表面积 表面积计算公式:长×宽×2+宽×高×2+长×高×2 """ L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]] for i in L: length = i[0] width = i[1] height = i[2] area = length*width*2 + length*height*2 + width*height*2 print(area)