返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的for循环详情
  • 964
分享到

Python中的for循环详情

2024-04-02 19:04:59 964人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1、可迭代对象1.1什么是可迭代对象1.2怎么判断2、字符串的for循环3、列表的for循环4、元组的for循环5、字典的for循环5.1keys()5.2 values()5.

for语句实际上解决的是循环问题。在很多的高级语言中都有for循环(for loop)。

for语句其实是编程语言中针对可迭代对象的语句,它的主要作用是允许代码被重复执行。看一段来自维基百科的介绍:

In computer science, a for-loop (or simply for loop) is a control flow statement for specifying iteration, which allows code to be executed repeatedly。(作用:介绍了for循环是什么?)

A for-loop has two parts: a header specifying the iteration, and a body which is executed once per iteration. (for循环是什么构成的?)

是什么:在计算科学中,是针对特殊迭代对象的控制流语句,能够重复执行
怎么构成:一个头部(是可迭代对象)+ 每个对象的执行

1、可迭代对象

1.1什么是可迭代对象

可迭代对象(Iteratable Object) 是能够一次返回其中一个成员的对象,比如我们常用的字符串、列表、元组、集合、字典等等之类的对象都属于可迭代对象,获取到这些对象我们就可以用for循环来进行操作。

简单来理解,任何你可以循环遍历的对象都是可迭代对象。

1.2怎么判断

如何判断一个python对象是不是可迭代对象?通常是使用 isinstance()函数来判断对象是否是可迭代对象


from collections import Iterable



小结:在Python常见的数据对象中,只有数字是不可迭代的,字符串、元组、列表、字典等都是可迭代的

2、字符串的for循环

一次遍历打印字符串中的每个元素


for i in "python": 
    print(i)    


输出:

p
y
t
h
o
n

在看另一个例子:


for i in "abcdefg":
    print(i)


输出:

a
b
c
d
e
f
g

3、列表的for循环

不管是单层列表还是多层的嵌套列表,我们都可以遍历打印出来:


# 单层列表

a = ["小明","小红","小张","小王"]

for i in a:
    print(i)  # 打印列表中的每个元素

小明
小红
小张
小王


# 嵌套列表

b = ["小明","小红","小张","小王",[19,20,18,23]]

for i in b:
    print(i)

小明
小红
小张
小王

[19, 20, 18, 23]

上面的例子中最后一个元素当做整体被打印出来,如果也想分开打印呢?


def qiantao(x):   # 定义一个函数
    for each in x:  # 遍历每个原始列表中的每个元素
        if isinstance(each, list):  # 判断每个元素是否是列表:isintance
            qiantao(each)  # 如果是列表,递归执行函数qiantao()
        else:
            print(each)  # 如果不是列表,就直接打印该元素
            
b = ["小明","小红","小张","小王",[19,20,18,23]]

# 调用函数,传入列表b
qiantao(b)  

小明
小红
小张
小王
19
20
18
23

4、元组的for循环

元组tuple的循环和列表是类似的:


t = ("小明","小红","小王")

for i in t:
    print(i)

小明
小红
小王

5、字典的for循环

我们使用keys()values()items() ,我们可以分别遍历字典的键、值和键值对。需要注意的是:遍历字典默认是遍历字典的键,先定义一个字典:


d = {"name":"Peter","age":20,"sex":"male","address":"china"}

5.1keys()

遍历字典的键;


for i in d.keys():  # 遍历字典的键
    print(i)


name
age
sex
address


for i in d:  # 默认就是遍历键的取值
    print(i)


name
age
sex
address

5.2 values()

遍历字典的值:


for i in d.values():  # 遍历字典的值
    print(i)


Peter
20
male
china

5.3 items()

同时遍历字典的键和值


for i in d.items():  # 遍历字典的值
    print(i)


('name', 'Peter')
('age', 20)
('sex', 'male')
('address', 'china')

分别取出字典的键和值:


for k,v in d.items():
    print(k + "--->" + str(v))


name--->Peter
age--->20
sex--->male
address--->china

6、range函数的for循环

range函数是 Python 内置函数,用于生成一系列连续整数,多用于 for 循环中。

  • range(start,stop,step)
  • start:包含start,默认为0,可不写则默认为0
  • stop:不包含stop,必须写
  • 步长step可正可负,默认是1,不能为0

6.1基础案例


range(10)  # 生成的是可迭代对象


range(0, 10)

默认开头是0


range(0,10)


range(0, 10)

指定开头为1


range(1,10)


range(1, 10)

下面是将结果展开成列表:


list(range(10))  # 不包含10(尾部)


[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

指定步长为2:


list(range(0,10,2))  # 不包含10,步长是2


[0, 2, 4, 6, 8]

总结:range函数是包含头部不包含尾部


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


0
1
2
3
4
5
6
7
8
9

6.2找出100以内能够被5整除的数


for i in range(101):  # 不包含101,0-100
    if i % 5 == 0:  # %表示求余数:余数为0则表示整除
        print(i,end="、")


0、5、10、15、20、25、30、35、40、45、50、55、60、65、70、75、80、85、90、95、100、

6.3高斯求和

求出1到100的所有数之和


sum = 0

for i in range(1,101):
    sum = sum + i  # 每循环一次,sum就是这个数字
    
sum

5050

求出100以内奇数的和:


sum = 0

# 步长为2,从1开始:1,3,5,7...
for i in range(1,101,2):  
    sum = sum + i
    
sum

2500

求出100以内偶数的和:


sum = 0

# 步长为2,从2开始:2,4,6,8...
for i in range(2,101,2):  
    sum = sum + i
    
sum

2550

7、多个for语句

for语句中还可以再使用for语句:


for i in ["python","java","html"]:
    for j in i:
        print(i.upper(),j)    # upper():将字母变成大写


PYTHON p
PYTHON y
PYTHON t
PYTHON h
PYTHON o
PYTHON n
JAVA j
JAVA a
JAVA v
JAVA a
HTML h
HTML t
HTML m
HTML l


for i in [4,5,6]:
    for j in [1,2,3]:
        print(i*j)  # 实现任意两个数的乘法


4  # 4*1
8  # 4*2
12 # 4*3
5  # 5*1
10 # 5*2
15 # 5*3
6  # 6*1
12 # 6*2
18 # 6*3

8、列表推导式

(1)上面我们提到能够被5整除的数:使用for循环和if来解决


five = []  # 定义空列表

for i in range(101):  # 不包含101,0-100
    if i % 5 == 0:  # %表示求余数:余数为0则表示整除
        five.append(i)  # 添加到列表中
        
five

[0,
 5,
 10,
 15,
 20,
 25,
 30,
 35,
 40,
 45,
 50,
 55,
 60,
 65,
 70,
 75,
 80,
 85,
 90,
 95,
 100]

(2)使用列表推导式如何实现呢?


[x for x in range(101) if x % 5 == 0]


[0,
 5,
 10,
 15,
 20,
 25,
 30,
 35,
 40,
 45,
 50,
 55,
 60,
 65,
 70,
 75,
 80,
 85,
 90,
 95,
 100]

9、for-else

也许你听过if-else,但是听到for-else语句吗?这也算是Python中的一个冷门知识点


for i in range(5):
    print(i)
else:
    print("结束")


0
1
2
3
4
结束

也就是说:for语句结束了依然会执行else的语句


for i in []:
    print(i)
    
else:
    print("结束")


结束

下面的例子中,当i除以3的余数是2的时候回跳出并终止整个for循环,后面的else就不会执行了


for i in range(10):
    print(i)
    if i % 3 == 2:
        break
else:
    print("结束")


0
1
2

10、实现三角阵列


for i in range(1,11):
    for k in range(1,i):
        print(k, end=" ")
    print("\n")


1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9

如果我们想要倒过来,该如何实现呢?


for i in range(10,0,-1):
    for k in range(1,i):
        print(k, end=" ")
    print("\n")


1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

11、99乘法表

下面举个例子来说明如何实现99乘法表


for i in range(1,10):
    for j in range(1,i+1):  # 为了保证有4*4,也就是同个数字相乘的等式,需要让i出现,使用i+1
        print('{}x{}={}'.fORMat(j, i, i*j), end=" ")  # end的结束符号用空格
    print("\n")


到此这篇关于Python中的for循环详情的文章就介绍到这了,更多相关Python中的for循环内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中的for循环详情

本文链接: https://lsjlt.com/news/137860.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中的for循环详情
    目录1、可迭代对象1.1什么是可迭代对象1.2怎么判断2、字符串的for循环3、列表的for循环4、元组的for循环5、字典的for循环5.1keys()5.2 values()5....
    99+
    2024-04-02
  • Python中的嵌套循环详情
    目录1 什么是嵌套循环2 Python 嵌套 for 循环2.1 嵌套循环打印图案2.2 在 for 循环中的while循环2.3 实践:打印一个带有 5 行 3 列星形的矩形图案3...
    99+
    2024-04-02
  • 详解python基础中的for循环
    目录一、 for 循环二、拓展利用for循环输出字典的值value三、for循环的优势四、for实现累加五、计算10以内偶数和六、计算10以内奇数和总结一、 for 循环 根据变量赋...
    99+
    2024-04-02
  • JavaScript中的for循环与双重for循环详解
    for循环 for循环就是对数组的元素进行循环。 语法: for (初始化变量; 条件表达式; 迭代语句) {      需要执行的代码块...
    99+
    2024-04-02
  • python中For循环
    打印出1到100的数,不包含100for i in range(1,100):if i==23:print "great,you got your luncky number:",iprint 'The unmber is:',i=====...
    99+
    2023-01-31
    python
  • python for循环
    Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语法格式如下:for iterating_var in sequence:    statem...
    99+
    2023-01-30
    python
  • python-for循环与while循环
    格式: while 条件 为 True: 代码块 while True: rayn_age = 18 age = input('请输入你的年龄:') age = int(age) if age == ra...
    99+
    2023-01-31
    python
  • Python循环语句(while循环、for循环)
    Python循环语句 一、while循环二、for语句三、range()函数四、break 和 continue 语句五、pass语句 Python循环语句主要有while循环和for循环...
    99+
    2023-09-04
    python 开发语言 爬虫
  • 浅析Python中的for 循环
    Python for 和其他语言一样,也可以用来循环遍历对象,本文章向大家介绍Python for 循环的使用方法和实例,需要的朋友可与参考一下。 一个循环是一个结构,导致第一个程序要重复一定次数。重复不断...
    99+
    2022-06-04
    Python
  • python中循环的写法 for
    最近倒腾python,希望能坚持下去吧 发现了个叫codecademy的网站,还不错http://www.codecademy.com/courses/python-beginner-en-IZ9Ra/0/1curriculum_id=4...
    99+
    2023-01-31
    写法 python
  • Python中的用for,while循环
    使用for循环遍历文件打开文件open     r:以读模式打开    w:以写模式打开    a:以追加模式打开    r+:以读写模式打开    w+:以读写模式打开(参见w)    a+:以读写模式打开(参见a)    rb:以二进制...
    99+
    2023-01-31
    Python
  • python中的for循环对象和循环退出
    判断条件,1位true,0是flesh,成立时true,不成立flesh,not取反 if  1;      print 'hello python'    print 'true'   not取反,匹配取反,表示取非1大于2的正确...
    99+
    2023-01-31
    对象 python
  • Python的for循环,continu
    #!/usr/bin/env python     #coding:utf-8                                      #for循环和else语法 for i in range(0,10,2):      ...
    99+
    2023-01-31
    Python continu
  • Python中用户输入与while循环详情
    目录一、用户输入1.输入字符串2.使用函数int()获取数值输入3.求模运算符的应用二、while循环1.简单的while循环2.通过用户输入退出while循环3.使用标志4.使用b...
    99+
    2024-04-02
  • Java中的Spring循环依赖详情
    目录一、什么是循环依赖?那么循环依赖是个问题吗?二、Bean的生命周期三、三级缓存解决循环依赖思路分析四、Spring到底解决了哪种情况下的循环依赖五、总结一、什么是循环依赖? 很简...
    99+
    2024-04-02
  • for循环在Python中的工作原理详细
    例如: 作用于列表 >>> for elem in [1,2,3]: ... print(elem) ... 1 2 3 作用于字符串 >...
    99+
    2024-04-02
  • Python 循环 while,for
    一循环语句(有两种):while 语句for   语句while 语句:问题:输入一个整数n,让程序输出n行的:hello 1hello 2.......hell nwhile 语句:作用:根据一定条件,重复的执行一条语句或多条语句语法:w...
    99+
    2023-01-31
    Python
  • python基础之while循环、for循环详解及举例
    目录1.while循环1.1Whlie循环的书写方式1.2while循环的格式1.3while循环注意事项1.4while嵌套的格式1.5while练习:计算 1~100 ...
    99+
    2024-04-02
  • Java for循环详解
    一套完整的嵌入式开发学习路线(高薪就业版),知识全面,思路清晰,猛击这里免费领取! for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。 for 语句是一种在程序...
    99+
    2023-09-04
    java jvm 开发语言
  • shell中的for循环用法详解
    for 命令: for i in 的各种用法 : for i in “file1” “file2” “file3” for i in /boot/* for i in /etc/*.conf for ...
    99+
    2022-06-04
    shell for循环 shell for
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作