Python中的for循环代码示例 |
您所在的位置:网站首页 › 循环语句编程python例子 › Python中的for循环代码示例 |
本篇文章小编给大家分享一下Python中的for循环代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。 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就是这个数字 sum5050 求出100以内奇数的和: sum = 0 # 步长为2,从1开始:1,3,5,7... for i in range(1,101,2): sum = sum + i sum2500 求出100以内偶数的和: sum = 0 # 步长为2,从2开始:2,4,6,8... for i in range(2,101,2): sum = sum + i sum2550 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") |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |