跟我一起学python 4.1 /20

前言

我相信很多朋友都会跟我一样,一直听身边的人说python是比较简单的编译语言,但是对于没有任何编程基础的小白来说,单纯的浏览CSDN这个网站都头大。作为有着同样痛点的我,今天开始发布我的第一篇帖子,手把手教同为小白的朋友们一起学习python一起进步。

我学习python的方式主要是自己看书学习,如果有朋友想要相关方面的电子书资源可以评论区留言或者私信。

关于我的介绍:
目前是本科大三在读,爱丁堡大学商学院商业管理专业
对于学习python纯属是因为我个人的兴趣,本来今年的计划是学习Java的,但是由于考虑到将来要做的数据分析和各种研究报告可能会用到python(主要是因为python比java简单😂)这才开始了我的python学习之旅

本身由于我就是小白,我也会分享在我学习的时候遇到的各种问题,以及怎么解决的。本身这个贴就是面向小白的,各位如果看到我的问题分享依旧解决不了自己的疑问的话,可以直接分享到评论区,供大家一起参考学习。随着持续的更新,我会不定期根据评论区各位的疑问制作专门的解疑答惑贴。

本期的更新是继续针对于列表,但是是在上期的列表基础信息之上的操作列表。
这里会学习到for循环、range() 函数。。。

一、如何遍历列表所有元素

想象一下,在一个长达几百个元素的列表里,你需要对每一个元素都进行同样的操作,这个时候该怎么办呢?总不能一个接一个的手动把这几百个元素施加同样的操作吧,因此我们现在开始学习for 循环。

先定义一个列表,我们把上一期的汽车牌子列表搬过来继续用
对于这个列表,我们对其定义一个for循环
在for循环下面,我们添加上接下来要对每一个元素进行的操作

lists = ['bmw', 'benz','audi', 'suzuki'] #定义列表
for list in lists: #for循环
    print (list) #添加循环操作指令,这里是print()指令
bmw
benz
audi
suzuki

在这个例子中,我们对列表每一个元素的进行的操作是将其print()出来
但是注意,这里有一个跟直接print() 列表的区别

lists = ['bmw', 'benz','audi', 'suzuki']
print (lists)

['bmw', 'benz', 'audi', 'suzuki']

这是直接对列表进行打印,但是在for循环里,他是对每一个元素进行打印
这里可以看这两个例子的结果来分辨他们的不同。

看完基础的for循环指令,我们来深度的解析一下这个for循环是怎么构建的

首先,在列表下面定义一个for循环需要这几个最基本的东西

lists = ['bmw', 'benz','audi', 'suzuki'] #定义列表
for list in lists: #for循环

1. for  #for 是告诉系统接下来我要使用一个for循环指令,在for后面需要跟一个变量
2. list #list这个名字是从列表名中取的,将列表名lists与变量list 所关联
3. lists :#列表名,但是最重要的是他的后面要跟一个冒号,如果没有就会报错

在这里可以接上我第一篇帖子提到的列表名都要以复数形式命名,因为复数形式的列表名不仅是因为后面要跟两个及以上的元素,同时在for循环这里,还要用单数形式的列表名来作为for循环中与列表名所关联的变量。这个变量就是单数形式的列表名
具体表现就是
列表名:lists
变量:list
同样的,举个例子

cars = ['bmw','audi','benz']
for car in cars:
	print (car)

列表名:cars
变量:car 

解释完前面的这些
我们来看一下后面的print指令,这个print是在第三行首行缩进了,这个意味着这里的print是under这个for循环,可以理解成老鹰抓小鸡里,躲在老母鸡后面的小鸡仔们,他们都是属于这个老母鸡的。
这里的for循环就像是一个老母鸡,后面的print就是小鸡仔,他是属于这个for循环的
具体表现就是循环执行这个print指令。
从第一个元素bmw开始
bmw ➡️ print(bmw) ➡️ audi ➡️ print(audi) ➡️ benz ➡️ print(benz)
他在for循环里,是这样的一个循环过程
这个时候,执行完最后一个print任务的系统会停留在末尾元素benz上
如果直接print(car) 注意是变量car 不是列表cars
它会出现什么情况呢?

cars = ['bmw','audi','benz']
for car in cars:
	print (car)
print(car)

bmw
audi
benz
benz

直接将benz打印了两遍
这就是因为在执行完循环任务后,系统会停留在末尾元素上。如果直接打印(首行不缩进
结果还会是末尾元素
这里最明显的错误时首行没有缩进,导致第二个print()指令没有被算入for循环里。

那么如果我首行缩进了一些不应该被循环的指令的话,会出现什么情况呢?

lists = ['bmw', 'benz','audi', 'suzuki']
for list in lists: 
    print (list)
    print (f"I like {
     lists}")

bmw
I like ['bmw', 'benz', 'audi', 'suzuki']
benz
I like ['bmw', 'benz', 'audi', 'suzuki']
audi
I like ['bmw', 'benz', 'audi', 'suzuki']
suzuki
I like ['bmw', 'benz', 'audi', 'suzuki']    

第二个print()指令本不应该放到for循环里的,但是由于首行缩进了
系统就会认为这两个print()指令都是属于for循环里的
由此不仅能够看出来我们要注意首行缩进问题,同时还能帮助我们更清晰的了解for循环的原理

系统收到指令 (for 循环开始)

print (list)--bmw--print(f"I like {
     lists}")---I like ['bmw', 'benz', 'audi', 'suzuki']

print (list)--benz--print(f"I like {
     lists}")---I like ['bmw', 'benz', 'audi', 'suzuki']

print (list)--audi--print(f"I like {
     lists}")---I like ['bmw', 'benz', 'audi', 'suzuki']

print (list)--suzuki--print(f"I like {
     lists}")---I like ['bmw', 'benz', 'audi', 'suzuki']

第一个print任务对应的第一个元素,系统执行完第一个print任务,开始执行第二个print任务,但是第二个print任务指代的是列表,于是他把列表整个打印了一遍。至此,第一个循环任务结束
最终的呈现结果就是这个

bmw
I like ['bmw', 'benz', 'audi', 'suzuki']
benz
I like ['bmw', 'benz', 'audi', 'suzuki']
audi
I like ['bmw', 'benz', 'audi', 'suzuki']
suzuki
I like ['bmw', 'benz', 'audi', 'suzuki']  

结语

各位新年快乐!龙年万事如意,学习如芝麻开花节节高!
今天初二,下午本着休息,但是又按耐不住跟大家分享这两天的学习进度,于是索性就发一篇吧。
这也算是最起码的知行合一了哈哈哈
另外,考虑到平台会对长文章限流,我也在摸索自己的分享风格,所以往后的几篇帖子都会拆分成一块一块的分享。

我在下面设置了一个投票,大家可以根据自己的喜好来投票,我会根据票情来发帖

相关推荐

  1. 一起python 4.1 /20

    2024-02-12 04:50:01       32 阅读
  2. c++中级篇——面向切片编程

    2024-02-12 04:50:01       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-12 04:50:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-12 04:50:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-12 04:50:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-12 04:50:01       20 阅读

热门阅读

  1. 从Unity到Three.js(画线组件line)

    2024-02-12 04:50:01       35 阅读
  2. 1103: 地盘划分(New Online Judge)

    2024-02-12 04:50:01       24 阅读
  3. kubeadm部署k8s集群

    2024-02-12 04:50:01       30 阅读
  4. Codeforces Round 924 (Div. 2)

    2024-02-12 04:50:01       32 阅读
  5. linux赋予普通用户权限

    2024-02-12 04:50:01       35 阅读
  6. Linux 禁用/启用 交换分区

    2024-02-12 04:50:01       35 阅读
  7. vue3-应用规模化-单文件组件

    2024-02-12 04:50:01       30 阅读
  8. Dockerfile命令

    2024-02-12 04:50:01       28 阅读
  9. 解锁 SpringBoot 强大配置功能

    2024-02-12 04:50:01       27 阅读
  10. vector基本用法(可变长数组)

    2024-02-12 04:50:01       26 阅读
  11. Docker-CE 国内源国内镜像

    2024-02-12 04:50:01       39 阅读
  12. Debezium发布历史121

    2024-02-12 04:50:01       32 阅读