详解Python 循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环。
Python for 循环嵌套语法:
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)
Python while 循环嵌套语法:
while expression: while expression: statement(s) statement(s)
你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。
实例:
以下实例使用了while循环嵌套输出2~100之间的素数:
#!/usr/bin/python # -*- coding: UTF-8 -*- i = 2 while(i < 100): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print i, " 是素数" i = i + 1 print "Good bye!"
以上实例输出结果:
2 是素数
3 是素数
5 是素数
7 是素数
11 是素数
13 是素数
17 是素数
19 是素数
23 是素数
29 是素数
31 是素数
37 是素数
41 是素数
43 是素数
47 是素数
53 是素数
59 是素数
61 是素数
67 是素数
71 是素数
73 是素数
79 是素数
83 是素数
89 是素数
97 是素数
Good bye!
使用for循环嵌套来获取100以内的素数
#!/usr/bin/python # -*- coding: UTF-8 -*- num=[]; i=2 for i in range(2,100): j=2 for j in range(2,i): if(i%j==0): break else: num.append(i) print(num)
输出结果
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
以上就是详解Python 循环嵌套的详细内容,更多关于Python 循环嵌套的资料请关注我们其它相关文章!
相关推荐
-
Python 之 Json序列化嵌套类方式
想要用python自已手动序列化嵌套类,就要明白两个问题: 1.Json是什么? 2.Json支持什么类型? 答案显而易见 Json就是嵌套对象 Json在python中支持列表,字典(当然也支持int,string.....,不过说这个也没多大必要) 很好,等等,列表,字典?我们在python中学过列表,字典,字典列表,列表字典,字典字典,那,我们可不可以把类对象转化为这些呢? 我可以很确定的告诉你,可以,并且,嵌套类都可以!!! 下面就来实战: from flask import Flask
-
python使用for...else跳出双层嵌套循环的方法实例
背景 周末在写一个爬虫时,遇到这样一种场景:从搜索结果中下载指定数量的文件 例如:搜索结果中共分为10页展示,加起来一共50条数据,现在要做的是从50条数据中下载指定数量的数据 为了实现这个功能,开始我是这样想的: 1.依次遍历10页数据,并且把每页的数据都追加到同一个列表中,这样的话,请求完10页数据后,这个列表中就包含了所有结果: 2.然后再从这个大列表中提取指定数量的数据进行下载即可 这种方法确实可行,但是在运行过程中发现一个问题:程序运行速度太慢了,原因是无论你想下载多少条数据,都会先把
-
python实现字典嵌套列表取值
如下所示: dict={'log_id': 5891599090191187877, 'result_num': 1, 'result': [{'probability': 0.9882395267486572, 'top': 205, 'height': 216, 'classname': 'Face', 'width': 191, 'left': 210}]} 访问dict的值: print(dict['log_id']) 访问dict下的result列表的值: print(dict['re
-
Python 如何展开嵌套的序列
问题 你想将一个多层嵌套的序列展开成一个单层列表 解决方案 可以写一个包含 yield from 语句的递归生成器来轻松解决这个问题.比如: from collections import Iterable def flatten(items, ignore_types=(str, bytes)): for x in items: if isinstance(x, Iterable) and not isinstance(x, ignore_types): yield from flatten(
-
python 函数嵌套及多函数共同运行知识点讲解
1.先讲函数嵌套,很简单的例子,如: print(len('我和你')) 这样就很好理解了. 2.关于多个函数共同运行,最重要的区分点就是,变量的作用域,有局部变量和全局变量,局部作用于不能使用其他局部作用域内的变量 def 1(): i=1 //这里的i就只是在1函数作用域 return 0 a = i //这里的会被判定为未定义 3.那么如何修改一个变量的作用域呢?用 global,可将局部变量声明为全局变量. 知识点扩展: 与嵌套函数紧密相关的就是闭包特性,举一个简单的例子: >>>
-
python列表切片和嵌套列表取值操作详解
给出列表切片的格式: [开头元素::步长] # 输出直到最后一个元素,(最后一个冒号和步长可以省略,下同) [开头元素:结尾元素(不含):步长] # 其中,-1表示list最后一个元素 首先来看最简单的单一列表: a = [1,2,3,4] a[:] a[::] a[:3] a[1:3:2] a[3] 输出依次为: [1,2,3,4] [1,2,3,4] [1,2,3] [2] 4 注意,这里只有最后一个输出是不带[]的,表明只有最后一个输出是元素,其他在切片中只用了:符号的输出均为list,不
-
python字典嵌套字典的情况下找到某个key的value详解
最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况.在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字典的方法了解的不深的缘故),于是自己写了个程序. 下面是代码 #coding: utf-8 import types #获取字典中的objkey对应的值,适用于字典嵌套 #dict:字典 #objkey:目标key #default:找不到时返回的默认值 def dict_get(dict, obj
-
详解Python 循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环. Python for 循环嵌套语法: for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s) Python while 循环嵌套语法: while expression: while expression: statement(s) statement(s) 你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌
-
详解Python循环作用域与闭包
前言 首先来看一段代码 x_list = [i for i in range(30)] y_list = [i for i in range(10, 20)] for y in y_list: x_list = filter(lambda a: a != y, x_list) x_list = list(x_list) print(x_list) print(len(x_list)) 这段代码会输出什么呢? 正确答案是一个长度为29的List. [0, 1, 2, 3, 4, 5, 6, 7,
-
详解Python如何循环遍历Numpy中的Array
目录 1. 引言 2. 使用For循环遍历 3. 函数 nditer() 4. 函数 ndenumerate() 5. 结论 1. 引言 Numpy是Python中常见的数据处理库.Numpy是 Numerical Python的缩写,它是数据科学中经常使用的库.Numpy专门用于处理矩阵运算,因为它包含各式各样的处理函数.在本文中,我们主要用于学习如何迭代遍历访问矩阵中的元素. 闲话少说,我们直接开始吧! 2. 使用For循环遍历 首先我们来看个例子,使用循环来遍历数组,样例代码如下: imp
-
详解python 条件语句和while循环的实例代码
02条件语句和while循环 三目运算 a = 6 #原判断语句 if a > 5: print(True) else: print(False) #三目运算 print(True if a >5 else False) 逻辑运算 1. 三种逻辑运算 与逻辑 and 两边为真则为真 或逻辑 or 一边为真则为真 非逻辑 not 逻辑值取反 优先级: not > and > or 2.逻辑短路 # and 逻辑短路 a = 3 #没有对b赋值,但程序不会报错能够正常运行 #左边布尔值
-
详解Python中for循环的定义迭代方法
目录 Python的 for 循环 遍历字典 range()功能 break语句 和continue语句 else语句 Python的 for 循环 Python 是基于集合的迭代. for <var> in <iterable>: # <iterable>是对象的集合--例如,列表或元组. <statement(s)> # 循环体 a = ['曹操', '孫権', '劉備'] for i in a: print(i) 输出: 曹操孫権劉備 可迭代对象 ,可
-
详解Python如何在多层循环中使用break/continue
关于break/continue这两个关键字在平常的使用过程中一直比较迷糊.好不容易理解了吧,过段时间不使用好像忘记了什么.这个问题也是很多初学者比较容易提及的问题. 先通过一个简单的单层循环来了解一下这两个关键字的使用. print('=============单层循环使用=============') for n in range(10): if n == 9: print('退出当前循环,当前n = ', n) break elif n == 4: print('跳过当前循环,当前n =
-
详解python中asyncio模块
一直对asyncio这个库比较感兴趣,毕竟这是官网也非常推荐的一个实现高并发的一个模块,python也是在python 3.4中引入了协程的概念.也通过这次整理更加深刻理解这个模块的使用 asyncio 是干什么的? 异步网络操作并发协程 python3.0时代,标准库里的异步网络模块:select(非常底层) python3.0时代,第三方异步网络库:Tornado python3.4时代,asyncio:支持TCP,子进程 现在的asyncio,有了很多的模块已经在支持:aiohttp,ai
-
详解Python流程控制语句
流程控制 流程:代码执行的过程 控制:对代码执行过程的把控 三大结构 顺序结构:代码默认从上到下,依次执行 分支结构:单项分支,双向分支,多项分支,巢状分支 循环结构:while循环和for循环 单项分支 语句: if 条件表达式: code1 code2 当条件表达式成立时,返回True,执行对应的代码块 job = "programmer" if job == "programmer": print("钱多") print(&
-
详解Python列表解析式的使用方法
目录 列表解析式的优势 如何在 Python 中创建列表 循环 map() 对象 列表解析式 哪种方法更有效 高级解析式 条件逻辑 集合解析式 字典解析式 海象运算符 什么时候不要使用解析式 注意嵌套的解析式 为大型数据集使用生成器 总结 Python 是一种极其多样化和强大的编程语言!当需要解决一个问题时,它有着不同的方法. 在本文中,将会展示列表解析式(List Comprehension).我们将讨论如何使用它?什么时候该或不该使用它? 列表解析式的优势 比循环更节省时间和空间. 需要更少
-
详解Python排序算法的实现(冒泡,选择,插入,快速)
目录 1. 前言 2. 冒泡排序算法 2.1 摆擂台法 2.2 相邻两个数字相比较 3. 选择排序算法 4. 插入排序 5. 快速排序 6. 总结 1. 前言 所谓排序,就是把一个数据群体按个体数据的特征按从大到小或从小到大的顺序存放. 排序在应用开发中很常见,如对商品按价格.人气.购买数量……显示. 初学编程者,刚开始接触的第一个稍微有点难理解的算法应该是排序算法中的冒泡算法. 我初学时,“脑思维”差点绕在 2 个循环结构的世界里出不来了.当时,老师要求我们死记冒泡的口诀,虽然有点搞笑,但是当
随机推荐
- WPF自定义选择年月控件详解
- Java中JSONObject与JSONArray的使用区别详解
- IOS实现图片轮播无限循环效果
- bootstrap响应式表格实例详解
- PHP获取二维数组中某一列的值集合
- 10个值得深思的PHP面试题
- PHP实现把文本中的URL转换为链接的auolink()函数分享
- 基于Python的身份证号码自动生成程序
- Python装饰器入门学习教程(九步学习)
- Jquery 表单取值赋值的一些基本操作
- 用户代理字符串userAgent可实现的四个识别
- jQuery在vs2008及js文件中的无智能提示的解决方法
- 推荐一个文件搞定操作系统的所有常见问题第1/3页
- 学习Android自定义Spinner适配器
- C语言中的参数传递机制详解
- Android开发中在TableView上添加悬浮按钮的方法
- Python及PyCharm下载与安装教程
- Spring boot 集成Dubbox的方法示例
- 利用redis实现排行榜的小秘诀
- 解决Ubuntu下使用linuxdeployqt打包Qt程序问题