Python 可迭代对象 iterable的具体使用


Posted in Python onAugust 07, 2021

前置知识

如果给定一个 list 或 tuple,我们可以通过 for 循环来遍历这个 list 或 tuple,这种遍历我们称为迭代(Iteration)

在 Python 中,迭代是通过 for ... in 来完成的

lists = [1, 2, 3, 4, 5]
for i in lists:
    print(i)

可迭代对象

for 循环不仅可以用在 list 或 tuple 上,还可以用在其他可迭代对象上
list 这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是只要是可迭代对象,无论有无下标,都可以迭代

dicts = {
    "a": 1,
    "b": 2
}
for i in dicts:
    print(i)

# 输出结果
a
b

如何判断一个对象是否是可迭代对象?

from collections import Iterable

lists = [1, 2, 3, 4, 5]

dicts = {
    "a": 1,
    "b": 2
}

print(isinstance(lists, Iterable))
print(isinstance(dicts, Iterable))
print(isinstance({"test"}, Iterable))
print(isinstance(1234, Iterable))

# 输出结果
True
True
True
False

enumerate 函数

循环列表的话,默认是只返回元素值,如果想同时拿到元素值和对应的下标值呢?
enumerate 函数可以把 list 变成一个 索引-元素对的迭代对象,然后循环遍历这个对象即可

lists = [1, 2, 3, 4, 5]

# 看看是不是迭代对象
print(isinstance(enumerate(lists), Iterable))

# 循环
for ind, val in enumerate(lists):
    print(ind, val)

# 输出结果
True
0 1
1 2
2 3
3 4
4 5

多嵌套列表

for x, y in [(1, 1), (2, 4), (3, 9)]:
    print(x, y)

# 输出结果
1 1
2 4
3 9

总结

任何可迭代对象都可以作用于 for 循环,包括我们自定义的数据类型,只要符合迭代条件,就可以使用 for 循环

到此这篇关于Python 可迭代对象 iterable的具体使用的文章就介绍到这了,更多相关Python 可迭代对象 iterable内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Windows下安装python2.7及科学计算套装
Mar 05 Python
Python中subprocess的简单使用示例
Jul 28 Python
python Crypto模块的安装与使用方法
Dec 21 Python
PyQt5打开文件对话框QFileDialog实例代码
Feb 07 Python
python爬取网易云音乐评论
Nov 16 Python
python dict 相同key 合并value的实例
Jan 21 Python
Python中list循环遍历删除数据的正确方法
Sep 02 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
Oct 29 Python
解决pytorch 损失函数中输入输出不匹配的问题
Jun 05 Python
Python pandas之求和运算和非空值个数统计
Aug 07 #Python
关于Python中*args和**kwargs的深入理解
Aug 07 #Python
python3操作redis实现List列表实例
Aug 04 #Python
Python pandas求方差和标准差的方法实例
Aug 04 #Python
pandas求平均数和中位数的方法实例
Aug 04 #Python
Python NumPy灰度图像的压缩原理讲解
Aug 04 #Python
Python内置数据结构列表与元组示例详解
You might like
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
设定php简写功能的方法
2019/11/28 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
用Python制作简单的钢琴程序的教程
2015/04/01 Python
Python回调函数用法实例详解
2015/07/02 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
英国日常交易网站:Wowcher
2018/09/04 全球购物
保险专业大学生职业规划书
2014/03/03 职场文书
警察群众路线整改措施
2014/09/26 职场文书
神龙架导游词
2015/02/11 职场文书
公积金具结保证书
2015/05/11 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python