目录
一、组织列表
1.1、sort()对列表进行永久排序(按照字母的顺序进行排列)
1.2、sorted()临时排序
1.3、反转列表 reverse()
1.4、快速获取列表长度 len()
作业:
相处至少5个你渴望去旅游的地方
二、操作列表
2.1、遍历整个列表
三、创建数值列表
3.1、使用函数range()
3.2使用range()创建数字列表
3.3、对数字列表执行简单的统计计算 min max sum
3.4 切片
3.5、遍历切片
3.6、复制列表
四、元祖
作业
相反的排序
保留列表元素原来的排列顺序,同时以特定的顺序呈现
相反的顺序
ps:reverse()不是按与字母顺序相反的顺序排列列表元素,只是反转排列顺序,方法是永久的修改顺序,但可以随时恢复到原来的顺序,只需要对列表进行再次reverse()即可。
1、将这些地方存储在一个列表中,并确保其中的元素不是按照字母顺序排列的。
2、按原始排列顺序打印列表。
3、使用sorted()按照字母顺序打印这个列表,同时不要修改它。
4、再次打印该列表,合适排列顺序未变
5、使用sorted()按照字母顺序相反的打印这个列表,同时不要修改它。
6、再次打印该列表,顺序未发生改变
7、使用reverse()修改列表元素的排列顺序,打印列表,核实排列顺序确实变了。
8、使用reverse()再次修改列表元素的顺序,打印列表,核实已恢复到原来的排列顺序。
9、使用sort()修改该列表,使其元素按照字母顺序排列,打印该列表,核实顺序确实变了。
10、使用sort()修改该列表,使其元素按照字母反向顺序排列,打印该列表,核实顺序确实变了。
city = ['xian', 'lijiang', 'shanghai', 'chongqing', 'xinjiang'] print(city) #打印最原始的列表 sorted(city) print(city) #不改变原来的顺序 sorted(city, reverse=True) print(city)#反向打印,并且不影响原来的顺序 city.reverse() print(city) #使用reverse()修改列表元素的排列顺序 city.reverse() print(city) #核实已恢复到原来的排列顺序 city.sort() print(city) #使用sort()修改该列表,使其元素按照字母顺序排列 city.sort(reverse=True) print(city) #使用sort()修改该列表,使其元素按照字母反向顺序排列
1.5、检索
python中检索从0开始
取最后一个元素,可使用索引-1,反转列表元素,可使用 列表[::-1]
定义一个for循环,让python从列表Citys中取出一个名字,并将其与变量city关联,最后让python打印前面赋值给变量city名字。重复执行将citys的每个城市名字打印出来。
2.2、for循环的更多操作
针对每个人城市,打印一条消息
在for语句后面,每个缩进都是循环的一部分,两个语句都缩进了,因此针对列表中的每个城市都执行一次,调用print中的换位符号'\n'再次迭代结束后插入一个空行,看起来更整洁。
for循环中,想包含多少行代码都可以。
2.3、在for循环结束后执行一些操作
for循环后面,没有缩进的代码都只执行一次。
作业 :
练习1:想出至少三种你喜欢的水果,将其名字存储在一个列表中。在用for循环打印出来。
1、修改这个for循环,使其打印包含水果名称的句子,比如i like apple apple.
2、在程序末尾添加一行代码,它不在for循环中,指出你有多喜欢水果,输出应包含针对每种蔬果消息,还有一个总结性句子。比如 i really love fruit!
代码:
fruits = ['apple', 'banana', 'orange'] for fruit in fruits: print(f'i like {fruit.title()}!') print(f'i really love {fruit.title()}.\n') print('i really love fruits')
for vaule in range(1, 5): print(vaule)输出结果为1-4
range()函数也可指定一个函数,这样它从0开始,如range(6),返回1-5
创建数字列表,可使用list()将range()的结果直接转换为列表。
第三个参数可以指定步长,打印1-10中的偶数, 函数range()从2开始数,然后不断加2,直到达到终值。
整数1-10的平方
创建一个numbers的空列表,使用函数range()让python遍历1-10的值,再循环中,计算当前值的平方,并将结果赋给变量s。然后将新计算得到的平方值附加到列表numbers的末尾,最后循环结束,打印。
为了代码更简洁,可不使用临时变量s,而是直接将每个计算得到的值附加到列表末尾。
列表解析(列表推导式)
作业:
1、通过给函数range()指定第三个参数来创建一个列表,其中包含1-20的奇数,在使用一个for循环将这些数打印出来
for i in range(1,21,2): print(i)
2、将同一个数乘三次称为立方,创建一个列表,其中包含前10个整数(1-10)的立方,在使用一个for循环打印出来
numbers = [] for i in range(3, 31): numbers.append(i**3) print(numbers)
3、使用列表解析生成一个列表,其中包含前10个整数的立方。
创建切片,可指定要使用的第一个元素和最后一个元素的索引。python在到达第二个索引之前的元素后停止。
如果没有第一个索引,python自动从列表开头开始,如果没有结尾索引位,python自动到结尾
负数索引返回离列表末尾相应距离的元素,因为你可以输出列表末尾的任意切片。
用于遍历列表中的部分元素
复制列表可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:]),整个列表的副本,为了验证,可在每个表里加入不同内容。
作业:选择你在本章编写一个程序,在末尾添加几行代码,以完成如下任务。
1、打印消息‘the first three items in the list are’,在使用切片来打印列表中的前三个元素
2、 打印出中间三个元素
3、打印出末尾三个元素
作业:创建列表副本,将其赋值给new_city,在完成以下任务
1、在原来的数据新增
2、在新列表中新增
3、核实不同的列表。打印消息‘原来的列表是’,在用一个for循环来打印第一个列表。打印消息‘新的列表是’在使用一个for循环来打印第二个列表。核实新增的城市添加到了正确的列表中。(感觉这块写的不对)
列表适用于存储在程序运行期间可能变化的数据集。列表是可以修改的,不可变的列表被称为元组。元祖是用逗号标识的。
修改元组的变量,将一个新元组关联到变量tu,然后打印新的元组,不回报错,给元组变量重新赋值是合法的。
如果需要存储的一组值在程序的整个生命周期内都不变,就可以使用元组。
1、 有一家自助,只提供五种食物,请列出,并将其存在一个元组中。
2、使用一个for循环将该餐馆提供的五种食物名称打印出来。
3、尝试修改其中一个元素,核实python确实会拒绝你这么做。
4、餐厅调整了菜单,给元组变量赋值,并使用一个for循环将新元组的每个元素打印出来。
Restaurant = ('鸡', '鸭', '鱼', '虾', '水果') for i in Restaurant: print(i) # Restaurant[0] = '饮料' #修改元组 Restaurant = ('鸡', '鸭', '鱼', '蛋糕', '糖果') for i in Restaurant: print(i)
欢迎大家一起学习