python 之 使用 for-in 循环遍历范围,元组,列表,字典

2023-11-06

语法格式:for 变量 in 范围 | 元素 | 集合等:
for循环语法结构列如序列或迭代器作为其参数每次迭代其中一个元素。 与while循环一样,支持break,continue,else语句。 一般情况下,循环次数未知采用while循环,循环次数已知采用for。

一、循环遍历范围

举例:计算指定整数的阶乘

s_max = input (“输入您想要计算阶乘的数字“”:)
max = int(s_max)
for i in range(1,max+1):
	result *= i
print (result)
	
  1. for-in 循环中的变量的值受 for-in 循环控制,该变量将会在每次循环开始时 自动被赋值 ,因此程序不应该在循环中对该变量赋值。
  2. for-in 循环可用于遍历任何可选代对象。所谓 可迭代对象 ,就是指该对象中包含一个 —iter—方法,且该方法的返回值对象具有 next() 方法。
  3. 假如用户输入 7,此时程序将会构建一个 range(1,8) 对象(不包含 8

二、循环遍历列表

举例:计算列表中所有数值元素的总和、平均值

src_list = [1,22.5,3,45,'ab',78,2]
sum = 0
count = 0
for ele in src_list:
    if isinstance(ele, int) or isinstance(ele, float):            # 如果该元素是整数或浮点数
        print(ele)
		sum += ele
		count += 1
print('总和为:',sum)
print('平均值为:',sum / count)
  1. 几何元素进行判断:只有当列表元素是数值(int、float)时,程序才会累加它们
  2. Python 的 isinstance() 函数,该函数用于判断某个变量是否为指定类型的实例,其中前一个参数是要判断的变量,后一个参数是类型
  3. 也可以根据索引来遍历元组或列表
src_list = [1,22.5,3,45,'ab',78,2]
	for ele in range(1,len(src_list))

三、循环遍历字典

使用 for-in 循环遍历字典其实也是通过遍历普通列表来实现的。前面在介绍字典时己经提到,字典包含了如下三个方法:

  1. items():返回字典中所有 key-value 对的列表。
  2. keys():返回字典中所有 key 的列表。
  3. alues():返回字典中所有 value 的列表。

因此,如果要遍历字典,完全可以先调用字典的上面三个方法之一来获取字典的所有 key-value 对、所有 key、所有 value,再进行遍历。如下程序示范了使用 for-in 循环来遍历字典:

举例: 统计列表中各元素出现的次数
由于我们并不清楚列表中包含多少个元素,因此考虑定义一个字典,以列表的元素为 key,该元素出现的次数为 value

src_list = [12, 45, 3.4, 12, 'fkit', 45, 3.4, 'fkit', 45, 3.4]
statistics = {}
for i in src_list:
	if i in statistics:                 # 如果字典中包含ele代表的key,则 i 元素代表出现次数加1
		statistics[i] += 1
	else:                              # 如果字典中不包含i代表的key,说明该元素还未出现过,设为1
		statistics[i] = 1     
for ele, count in statistics.items():                      # 遍历dict,打印出各元素的出现次数
    print("%s的出现次数为:%d" % (ele, count))  

参考:http://c.biancheng.net/view/2225.html

附:
isinstance() 函数:该函数用于判断某个变量是否为指定类型的实例

>>> isinstance(2,int)
True
>>> isinstance('a',int)
False
>>> isinstance('a',str)
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 之 使用 for-in 循环遍历范围,元组,列表,字典 的相关文章

  • 在python中生成一定范围内的N个正整数,加起来等于总和

    我看过其他帖子解决类似的问题 我知道如何生成 N 个正整数 我还知道如何限制随机生成的整数的总和 唯一的问题是满足 N 个值都不超出指定范围的条件 e g generate ints n total low high 应该生成 n 个值数组
  • 用于通过电子邮件发送活动电子表格的 Google Apps 脚本

    我在网上找到了一个脚本 它可以获取当前工作表 将其复制到临时的新电子表格中 将其转换为 PDF 并通过电子邮件发送 我能够让它工作 但尝试将其设置为仅发送特定范围 尝试了一下 但无论如何我都不是一个好的编码员 或者 我也有兴趣弄清楚如何让它
  • 按日期范围连接表[重复]

    这个问题在这里已经有答案了 我正在寻找按日期范围连接两个表的简单方法 一个表包含确切的日期 另一个表包含两个标识时间段开始和结束的变量 如果第一个表中的日期在第二个表的范围内 我需要连接表 data1 lt data table date
  • Python range() 上的“in”运算符时间复杂度

    我有以下功能 def foo length num return num in range length 这个函数的时间复杂度是多少 注意到range 在Python 3上创建一个Range对象 这个函数的时间复杂度是O 1 还是O N 我
  • 有没有办法在 Swift 中立即生成一个填充一系列值的数组?

    在 python 中我可以生成一个值数组 Example arr range 0 30 有没有办法在 Swift 中立即生成一个填充一系列值的数组 您可以创建一个具有如下范围的数组 var values Array 0 100 这给你一个数
  • 范围交集/并集

    我正在开发一种编程语言 我想为其提供Range数据类型 目前不像通常那样是一个成对的列表int values x y 的约束条件是x lt y 我说不像通常那样 因为通常范围只是一对 但在我的情况下 它超过 例如允许 1 to 5 7 to
  • 将多个不相邻列复制到数组

    我正在尝试将多个不相邻 不连续 的 Excel 列复制到数组中 但它不起作用 以下是我尝试过的 Public Function Test Dim sh As Worksheet Set sh Application Sheets MyWor
  • 流行指数超出范围[重复]

    这个问题在这里已经有答案了 N 8 f g 4 7 indexList range N print indexList print f g indexList pop f indexList pop g 在此代码中 我收到一个错误 指出 p
  • 一维线段/范围相交测试:解决方案名称?

    我已经制定了一种方法来测试是否有两个一维线段 范围 因此将范围定义为 min max 给定范围的两个实例 a min max b min max 我使用以下方法来测试它们是否相交 a max b min b max a min gt 0 我
  • MySQL 中的 SELECT 整数范围。例如。 1,2,3,4,...,n;

    我需要在 MySQL 中选择整数范围 像这样的东西 SELECT RANGE 10 20 AS range returns 10 11 12 13 14 20 Why 我想从尚未注册的范围中选择随机电话号码 这是想法 SELECT RANG
  • 如果 IP 位于 IP 范围之间,则限制该 IP

    好的 今天是星期五下午 我度过了漫长的一周 所以希望得到一些帮助 目前 我有一个 IP 范围列表 如下所示 List
  • 如何将非连续数字添加到范围中?

    我试图迭代范围 750 765 并添加非连续数字 769 770 774 如果我尝试在范围函数之后添加数字 它会返回范围列表 然后是各个数字 gt gt gt for x in range 750 765 769 770 774 print
  • 如何在“if x in range”语句中使用浮点数

    我正在尝试写一个if将浮点数作为范围的语句 x 8 2 if x in range 0 4 4 print one if x in range 4 5 8 print two if x in range 8 1 9 9 print thre
  • 有没有办法在 Chrome 和/或 IE 中使用 JS 选择多个文本区域?

    Firefox 3 可以使用 JS 选择多个文本区域 有没有办法在 Chrome 和 IE 中做到这一点 我真的试图找到一种方法来选择多个 Chrome 和 IE9 中网页中的文本区域 信息位于 http help dottoro com
  • 在Python中跳过范围函数中的值

    循环一系列数字并跳过一个值的Python式方法是什么 例如 范围是从 0 到 100 我想跳过 50 编辑 这是我正在使用的代码 for i in range 0 len list x listRow list i for j in ran
  • 如何使用IPAddress和IPv4Mask获取IP地址范围?

    我试图在 C NET 2 0 中完成以下任务 给定一个 IPAddress 对象 例如 192 168 127 100 和另一个包含 IPv4Mask 子网掩码的 IPAddress 对象 例如 255 255 248 0 我应该能够计算
  • np.linspace 和 np.arange 有什么区别?

    我一直用np arange 我最近遇到np linspace 我想知道它们之间到底有什么区别 查看他们的文档 np arange https numpy org doc 1 18 reference generated numpy aran
  • 尝试访问工作表范围时出现 VBA 运行时错误 1004

    我正在构建一个小型 vba 脚本 该脚本将多个工作簿中的表合并到另一个工作簿的一个工作表中 当我尝试设置目标范围的值时 出现错误 wksPivotData Range wksPivotData Cells CurrentRow 1 Resi
  • React PropTypes:数字范围

    有没有更好的方法来验证如果数字在范围内 避免写作 PropTypes oneOf 1 2 3 4 5 6 7 8 9 10 根据文档 https reactjs org docs typechecking with proptypes ht
  • SQL 数据范围最小值最大值类别

    我想确定 2 个类别的范围 A 类和 B 类 A 从 1 到 15 开始 B 从 16 到 31 开始 然后 A 再次从 32 到 40 开始 现在如果运行此查询 select min range max range from table

随机推荐

  • 机器学习笔记(7)— 学习率、特征工程、多项式回归

    目录 判断梯度下降是否收敛 如何设置学习率 特征工程 多项式回归 判断梯度下降是否收敛 梯度下降的任务是找到能够使代价函数J最小的参数w和b 通常做法是绘制代价函数图 通过训练集计算出的 并且标出梯度下降每次迭代时J的值 此图中的横轴是梯度
  • 阅读Spring in action 实现书中实例时遇到的问题(三)之解决 JSR303校验获取ValidationMessage.properties错误信息文件的中文乱码问题

    使用 ValidationMessage properties配置错误信息 前端jsp页面回显错误提示信息时总是乱码 网上查了好久 最后还是下面的代码靠谱 在springmvc config xml中添加以下配置
  • 视图和内置函数的理解(很奈斯...)

    文章目录 一 视图介绍 二 视图作用 三 mysql内置函数 四 自主练习 五 mysql图形界面软件 六 数据备份 七 自主练习 一 视图介绍 视图 就是一张虚拟表 临时表 因为视图中表的结构和内容不是通过建表语句创建的 而是根据查询确定
  • es6-箭头函数

    代码
  • webpack 自动引入常用模块

    webpack 自动引入常用模块 描述 比如 lodash 这种库 要用时每个 js 文件都需要如下引入 import from lodash console log join 1 2 怎么才能不引入 lodash 也能直接 join 等方
  • OneDrive同步角标消失 - 解决方案

    问题 在电脑端使用OneDrive时 文件管理器OneDrive文件夹内的文件会在左下角显示同步状态 如下图 若没有显示同步角标 则此功能出现异常 下文介绍如何显示同步角标 值得一提的是 同步角标只起到显示作用 没有同步角标并不影响OneD
  • NCP1342芯片替代料PN8213 65W氮化镓充电器方案

    氮化镓快充已然成为了当下一个非常高频的词汇 在氮化镓快充市场迅速增长之际 65W这个功率段恰到好处的解决了大部分用户的使用痛点 从而率先成为了各大品牌的必争之地 ncp1342替代料PN8213氮化镓充电器主控芯片 适用于65w氮化镓充电器
  • 大数据课程K2——Spark的RDD弹性分布式数据集

    文章作者邮箱 yugongshiye sina cn 地址 广东惠州 本章节目的 了解Spark的RDD结构 掌握Spark的RDD操作方法 掌握Spark的RDD常用变换方法 常用执行方法 一 Spark最核心的数据结构 RDD弹性分布式
  • asp.net实现验证码程序

    1 可以实现验证码的自动更新 2 验证码html代码 li class mjiao2 span 验 证 码 span li
  • 出现Uncaught ReferenceError: $ is not defined错误

    今天在写ajax请求的时候 出现了Uncaught ReferenceError is not defined报错 未定义是为什么呢 后来才知道 原因一 你未引用jquery库jquery min js文件 或者说路径错误 原因二 忽略了H
  • 脚本语言与编译语言的区别

    文章目录 一 语法差异 二 执行方式差异 三 应用领域差异 四 总结 一 语法差异 脚本语言 脚本语言通常使用解释器逐行执行 不需要事先编译 它的语法相对简单 易于学习和使用 常见的脚本语言有Python JavaScript和Ruby等
  • 机器学习笔记(4)— 多特征变量

    1 多特征变量 本文主要介绍多特征变量的梯度下降法和特征缩放内容 2 多特征 多变量 多特征变量的目标函数为 假设x0 1 则目标函数为 把特征量x看作是一个向量 把特征量的参数也看做一个向量 所以目标函数可以表示为 多特征量的目标函数 又
  • linux 下 npm安装依赖报:stack Error: `gyp` failed with exit code: 1

    解决办法 切换到当前项目下即可 gt rm rf node gyp gt npm install g node gyp gt rm rf 项目 node modules 再次 npm install即可
  • Matlab学习入门篇(五)—— 数据可视化

    文章目录 一 离散数据图 1 1散点图 1 2 条形图 二 线图 2 1 二维线图 2 2 三维参数化曲线绘图函数 三 曲面 体积和多边形 数据可视化是指运用 计算机图形学和 图像处理技术 将数据转化为图形或图像并在屏幕上显示出来 以进行交
  • 合成数据加速高质量数据供给,AIGC的救星来了!

    毫无疑问 人工智能发展离不开海量数据 但真实世界的数据是有限的 且数据获取 数据标注等面临诸多难题 数据成为AI行业的 掣肘 如何打破 半个月来 数据要素频繁获得政策部门发声 中国证监会科技监管局局长姚前日前发文建议重点发展基于AIGC技术
  • MYSQL常见的4种数据类型

    转自 微点阅读 https www weidianyuedu com 一 数据类型是什么 数据类型是指列 存储过程参数 表达式和局部变量的数据特征 它决定了数据的存储格式 代表了不同的信息类型 有一些数据是要存储为数字的 数字当中有些是要存
  • Rust- 迭代器

    In Rust an iterator is a pattern that allows you to perform some task on a sequence of items in turn An iterator is resp
  • springBoot整合kafka配置

    pom xml
  • Java中定义常量(Constant) 的几种方法

    Method One interface ConstantInterface String SUNDAY SUNDAY String MONDAY MONDAY String TUESDAY TUESDAY String WEDNESDAY
  • python 之 使用 for-in 循环遍历范围,元组,列表,字典

    语法格式 for 变量 in 范围 元素 集合等 for循环语法结构列如序列或迭代器作为其参数每次迭代其中一个元素 与while循环一样 支持break continue else语句 一般情况下 循环次数未知采用while循环 循环次数已