python学习—叁—for循环、列表进阶和元组

目录

零、for循环

用 for 循环遍历整个列表

for 循环的缩进问题

壹、数值列表

range() 函数

创建数值列表

贰、列表的其他操作

列表的统计计算

列表的切片

切片遍历

叁、元组

定义元组

遍历元组

修改元组变量

肆、小结


零、for循环

用 for 循环遍历整个列表

遍历列表并且对元素执行相应操作是我们经常要使用到的操作,我们可以使用 for 循环去解决这些问题

我们尝试使用 for 循环打印所有人的名字

name_list = ['lisa','jack','tom','vegetable']
for name in name_list:
	print(name)

结果:

循环在编程语言中十分重要,它可以让计算机自动完成重复的工作。

以上面的例子为例

for name in name_list:

这行代码让 python 获取 name_list 列表中的第一个值(lisa),并将其与变量 name 相关联,然后读取下一行代码

    print(name)

python 会打印 name 的值(lisa),由于列表中还有其他值,python 返回循环的第一行,然后获取列表中的下一个元素(jack),如此往复,而当列表中已经没有其他元素时,就会跳出循环,这样就实现了第一个例子的效果。

for 循环的缩进问题

比如,我们使用 for 循环来感谢列表中的每一个人,并在最后,用一句话感谢所有人作为收尾

name_list = ['lisa','jack','tom','vegetable']
for name in name_list:
	print(f"Dear {name.title()},thank you very much")
	print(f"we hope you will happy everyday,{name.title()}")
print("thanks for everyone!")

结果:

上述例子中我们可以看到,我们为每一个人打印了两条包含有他们名字的特殊感谢语句,并在最后用一句感谢话感谢所有人。

那么,为什么特殊感谢语句进行了循环,而最后的感谢话却只打印了一句呢?

原因就是缩进,在 for 循环中,没有缩进的语句被认为不是循环语句中的内容,只会执行一次,不会重复执行

而有缩进的语句被认为是 for 循环的一部分,所以我们一定要特别注意。

注意:不能忘记缩进,减少不必要的缩进,这样程序才能按照我们想的那样去执行。

         不要忘记 for 语句之后的冒号,如果遗漏了冒号,会导致语法错误

壹、数值列表

range() 函数

列表非常适合存储数字集合,而 python 提供了很多工具,帮助我们高效的处理数字列表

在创建数值列表前,我们先来了解一个函数 range()

range() 可以轻松的帮我们生成一系列数,我们先来看看他的使用方法

for i in range(2,5):
	print(i)

结果:生成了数字 2,3,4 。包括2,但未包括5

for i in range(5):
    print(i)

结果:生成数字 0 - 5 ,但不包含 5

for i in range(1,10,3):
	print(i)

结果:生成 1 - 10 之间步长为 3 的数

创建数值列表

接下来,我们试着用 range() 来创建一个数字列表

可以使用 list() 直接将 range() 的结果转换为列表,比如生成一个包含 1-9 的列表

num = list(range(1,10))
print(num)

结果:生成一个包含数字 1-9 的列表

贰、列表的其他操作

列表的统计计算

我们可以利用现有的函数,轻松的获取列表中最大值、最小值、总和等信息

num = list(range(1,10))
print(num)
print(max(num))
print(min(num))
print(sum(num))

结果:

列表的切片

创建切片时,可指定要使用的第一个元素和最后一个元素的索引,和 range() 函数一样,切片时不包括后面的索引值。

比如,要输出列表中的前 3 个元素,需要指定索引 0 和 3,将会返回索引号为 0,1,2 的元素

name_list = ['lisa','jack','tom','vegetable']
print(name_list[0:3])

结果:

索引号也可以省去,比如要打印第二个到最后一个元素,只需设置索引 1 ,省去第二个索引值

name_list = ['lisa','jack','tom','vegetable']
print(name_list[1:])

结果:

切片遍历

如果我们要遍历列表中的部分元素,可以在 for 循环中使用切片

name_list = ['lisa','jack','tom','vegetable']
for name in name_list[0:3]:
	print(name)

结果:

切片遍历有时很有用,比如在游戏中,我们可以把分数降序排列,并使用此方法打印前三名的成绩

叁、元组

列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这非常重要。

但有时候我们仍然需要创建一系列不可修改的元素,元组就可以满足这种需求。元组就是不可变的列表。

定义元组

元组与列表十分相似,只不过元组使用的是圆括号而非中括号。元组定义之后,可以使用索引来访问其中的元素,与访问列表元素一样。

name_tup = ('lisa','jack','tom','vegetable')
print(name_tup[0])
print(name_tup[1])

结果:

刚刚说了,元组值不能修改,我们尝试更改一个值

name_tup = ('lisa','jack','tom','vegetable')
name_tup[0] = 'jerry'
print(name_tup[0])

结果:程序报错,提示修改元组的值是被禁止的

遍历元组

和列表一样,元组也可以使用 for 循环来遍历

name_tup = ('lisa','jack','tom','vegetable')
for name in name_tup:
	print(name)

结果:

修改元组变量

虽然不能修改元组的元素,但是可以给存储元组的变量赋值

name_tup = ('lisa','jack','tom','vegetable')
print("原来的元组")
print(name_tup)

name_tup = ('jerry','gary','grace','jim')
print("\n现在的元组")
print(name_tup)

结果:

相对于列表来说,元组较为简单,并且用法多余列表类似,再次不在过多赘述,若之后有用到,再详细说明

肆、小结

哈哈哈,不知不觉,今天应该已经是第四天了,这本书也学了四章了,其实有的时候还是需要给自己点压力,毕竟又是不知道哪位名人所说的:有压力才有动力。每天的python学习虽然时间不多,但却能有非常多的收获。好像今天罗嗦的废话没有昨天多,但就这样吧,今天的python学习就这样愉快的结束吧!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值