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 argparse 值范围帮助消息外观

    我有一个程序的参数 它是 1 100 之间的整数 我只是不喜欢它在使用 argparse 时在 h 帮助消息中显示的方式 它实际上列出了 0 1 2 3 4 5 等 有什么方法可以改变这一点或以其他方式表示它吗 Thanks EDIT 对于
  • 如何写一个简单的范围概念?

    如何编写一个概念来描述启用基于范围的 for 循环的类型 一种尝试是 template lt typename Range gt concept bool RRange requires Range range std begin rang
  • 单位范围的清晰/标准名称 [0->1]

    我现在正在编写一个 Range 类 并且正在为公共范围 0 gt 1 寻找一个好名字 如果它是长度为 1 的向量 我将其称为单位向量 是否有一个明确的名称来给出这个范围 间隔 可能是一个单位范围 0 1 之间的封闭范围通常称为闭单位区间 h
  • 有没有办法在 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 VBA中的值? [复制]

    这个问题在这里已经有答案了 我正在尝试使用 vba 宏在 Excel 中将值从表复制到范围 但我不需要表格式 只需要它的值 我怎样才能实现这个目标 这是代码的一部分 Source range Set r Sheets Sheet1 Rang
  • MySQL:检查某个值是否包含在范围区间内

    我想知道是否可以检查字符串值是否包含在列中 前提是该列包含开始值和结束值 例如 如果表的 NR 列包含以下行 400 50045 76 23 2512 14 19 21 我想找到其中包含值 421 的行 所以答案应该是第一行 这在mysql
  • 将多个不相邻列复制到数组

    我正在尝试将多个不相邻 不连续 的 Excel 列复制到数组中 但它不起作用 以下是我尝试过的 Public Function Test Dim sh As Worksheet Set sh Application Sheets MyWor
  • 一维线段/范围相交测试:解决方案名称?

    我已经制定了一种方法来测试是否有两个一维线段 范围 因此将范围定义为 min max 给定范围的两个实例 a min max b min max 我使用以下方法来测试它们是否相交 a max b min b max a min gt 0 我
  • numpy `arange` 超过最终值

    我原以为 numpy 的arange start end 生成 start end 范围内的值 下面的示例表明这并不总是正确的 最终值大于end import numpy as np start 2e9 end start 321 step
  • 多个 jQuery-UI 滑块的合计

    我正在尝试实现一个有 4 个 jQuery UI 滑块的页面 并且我想让所有 4 个滑块的总数永远不会超过 400 我不介意以哪种方式实现这一点 它可以从 0 开始 一旦您更改 1 个滑块 剩余的可用总数就会减少 或者将滑块设置为超过最大值
  • postgres 中的 @> 运算符有什么作用?

    我在 postgres 中遇到了一个查询here http johanndutoit net searching in a radius using postgres 它使用 gt 地球物体上的操作员 我到处搜索过 但对这个运算符的含义一无
  • 如何使大循环的联合范围更快

    我有一个子程序 在循环中进行大约 5000 次迭代后 它变得非常慢 否则很快 Windows 8 1 专业版 64 位 Excel 2013 15 0 4701 1001 MSO 15 0 4701 1000 64 位 Sub UnionS
  • Groovy:从两个范围创建二维数组

    我想创建这个 1 1 1 2 1 3 2 1 6 3 使用 GroovyConsole 我一直在尝试这样的事情 def blob 1 6 collect i gt 1 3 collect j gt i j println blob blob
  • 在 Postgres 中以周为单位分割间隔

    这是另一个关于日期的 SQL 问题 我正在使用 PHP 和 Postgres 构建一个日历应用程序 它将显示几天 几周甚至几个月的事件 每个事件都有开始日期和结束日期 按范围选择它们不是问题 然而 如果 Postgres 可以在每周的第一天
  • 分组为连续整数范围

    我检查了其他帖子 包括使用 Linq 按可变整数范围进行分组 https stackoverflow com questions 1375997 group by variable integer range using linq 但我没有
  • 在 Swift 中将单个整数值视为一个范围

    我需要验证字符串的长度 字符计数允许的值为 6 9 个字符 12个字符 15 个字符 所有具有不同字符数的字符串均无效 因此 我想创建一个 Swift 函数 它接受多个范围并计算字符串 extension String func evalu
  • range() 真的创建列表吗?

    我的教授和this guy http www secnetix de olli Python lambda functions hawk声称range创建值列表 注意 range 函数只是返回一个包含数字的列表 从 x 到 y 1 例如 r
  • 在 VBA 中从范围创建数组

    我遇到了一个看似基本的问题 但找不到任何资源来解决它 简而言之 我只想将一系列单元格 所有一列 的内容加载到数组中 我能够通过以下方式完成此任务 DirArray Array Range A1 Range A2 但由于某种原因 我无法以这种
  • 在 Perl 中确定范围重叠的最快方法

    我有两组范围 每个范围都是一对整数 开始和结束 表示单个较大范围的某些子范围 两组范围的结构与此类似 当然 将替换为实际数字 a ranges a 1 gt start gt end gt a 2 gt start gt end gt a

随机推荐

  • 机器学习笔记(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循环 循环次数已