

遍历列表
有时候我们希望获得列表内的所有元素,而列表长度有可能很长,这时候使用每一句话打印一个,就太过于繁琐,因此我们尝试使用For循环来解决这个问题:
code_languages=['Python','C/C++','Rust','R','Java']for code_language in code_languages: print(code_language)
第一行:我们定义了一个列表
第二行:我们定义了一个for 循环, for 循环中的code_language依次取得列表中的每一个元素,for ... in list , 是for循环的基本结构。
第三行: 打印这个元素,注意到print缩进了四个字符,这代表
print(code_language), 是循环的一部分。缩进不能错哦!
我们继续解释一下循环的意义:使用
for code_language in code_languages , 遍历得到的第一个元素为 'Python' , 此时 code_language就被赋值为'Python'了, 当我们继续往下执行时,我们发现我们打印了 code_language 变量, 那么Python就被打印出来了, 此时循环继续遍历列表得到 'C/C++' , 接着再将 'C/C++' 打印出来。以此类推,列表中的元素就都被打印出来了。

列表循环的更多操作
字符串连接操作
code_languages=['Python','C/C++','Rust','R','Java']for code_language in code_languages: print(code_language.upper()+" is an useful programming language")第一行:我们定义了一个列表
第二行:我们定义了一个for 循环, for 循环中的code_language 依次取得列表中的每一个元素
第三行: 打印这个 code_language 变量的全部字母大写 , 并拼接其他字符串

我们对循环中的变量进行了操作,结果得到的就是列表中的每一个元素,都按这个操作进行字符串拼接,并打印出一句话。 这个例子可以看出,程序是如何帮助我们解决重复性工作。我们并不需要每个元素都打印一行句子。
让我们考虑一下如果缩进不正确的时候会发生什么:

程序提示我们,在for循环的下一行,我们要进行缩进。否则程序循环不知道需要循环哪一句代码。

数值列表
需要遍历一个数值范围时,我们可以用到range( ):
for num in range(1,5): print(num)第一行,for 循环遍历1,2,3,4 ,注意最后一位数值不取
第二行,打印变量num 即 1,2,3,4

当你希望指定一定的步距时,你可以在range最后一位指明步距多大,例如步距为2, 由于从1 开始,且步距为2 ,因此只有1,3满足要求:
for num in range(1,5,2): print(num)
使用range() 创建列表:
create_nums=list(range(1,20,3))print(create_nums)第一行:将一个数值列表赋值给 create_nums
第二行:将create_nums打印出来

list(range()) 可以为我们直接创建一个数值列表。
数值列表的简单计算:
create_nums=list(range(1,20,3))print(create_nums)print(sum(create_nums))print(max(create_nums))print(min(create_nums))第一行:将一个数值列表赋值给 create_nums
第二行:将create_nums打印出来
第三行:打印create_nums列表数值的求和
第四行:打印create_nums列表数值的最大值
第五行:打印create_nums列表数值的最小值


列表切片
列表切片,我喜欢理解为切片面包,试想一下,你可以取最前面的两片,你可以取中间的两片,你可以取从中间到最末尾的几片。而列表切片就是类似的概念:
email_names = ['James','Charles','micheal','Levis','David']print(email_names[0:2])print(email_names[2:3])print(email_names[2:])print(email_names[-3:])print(email_names[0:4:2])第一行:我们定义了一个列表
第二行:我们打印了列表中 第一和第二个元素,注意到了吗,列表切片的最后一位也是不取的哦
第三行:我们打印了列表中 第三个元素。
第四行:我们打印了列表中从第三个到最后一个元素间的所有元素。
第五行:列表也可以使用负数切片。
第六行:列表切片也可以有步距哦。

我们可以遍历列表,当然也可以遍历列表切片了:
email_names = ['James','Charles','micheal','Levis','David']print(email_names[0:2])for email_name in email_names[0:2]: print(email_name)第一行:我们定义了一个列表
第二行:我们打印了列表中 第一和第二个元素,注意到了吗,列表切片的最后一位也是不取的哦
第三行:我们遍历了列表切片 email_names[0:2]
第四行:我们打印了变量 email_name

从结果可以看出,遍历列表切片时,只遍历列表切片内含有的元素。

答案与习题
上期答案:
1.自己定义一个列表
car_names=['BMW','Audi','Benz','Toyota']2.将这个列表分别使用sort() 、sorted() 、sort(reverse=True)、reverse() ,看看打印出来有什么不同
car_names=['BMW','Audi','Benz','Toyota']print(sorted(car_names))print(car_names) #sorted不改变列表顺序car_names=['BMW','Audi','Benz','Toyota']car_names.sort()print(car_names) #sort永久改变列表顺序 car_names=['BMW','Audi','Benz','Toyota']car_names.reverse() print(car_names) #按原列表顺序的倒序排列car_names=['BMW','Audi','Benz','Toyota']car_names.sort(reverse=True)print(car_names) #按列表的字母顺序的倒序的排列3.打印这个列表的长度
car_names=['BMW','Audi','Benz','Toyota']print(len(car_names))本期习题:
自定义一个列表,遍历这个列表中的元素,并打印出来
使用切片获取这个列表中第二个到最后一个元素,遍历这个切片,并打印出这个切片内的所有元素
定义一个range(1,10)的数值列表 ,求这个列表的总和,最大值,最小值
更多免费资料,关注公众号获取


周六周末不更新哦
1419

被折叠的 条评论
为什么被折叠?



