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 相关文章推荐
python实现保存网页到本地示例
Mar 16 Python
python 根据pid杀死相应进程的方法
Jan 16 Python
python3制作捧腹网段子页爬虫
Feb 12 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
Python实现PyPDF2处理PDF文件的方法示例
Sep 25 Python
在OpenCV里使用Camshift算法的实现
Nov 22 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
python 根据列表批量下载网易云音乐的免费音乐
Dec 03 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 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字符串的编码问题的详细介绍
2013/04/27 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
2019/04/16 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
javascript parseInt 大改造
2009/09/27 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
python中使用序列的方法
2015/08/03 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
python实现自动登录
2018/09/17 Python
python 多线程重启方法
2019/02/18 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
新教师岗前培训方案
2014/06/05 职场文书
环保标语大全
2014/06/12 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
合作意向协议书
2015/01/29 职场文书
教师学期个人总结
2015/02/11 职场文书
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技