Python高级特性:迭代

迭代的目的是实现遍历出一个可迭代对象的元素,即for循环

基本语法 : for ... in ...

首先只有可迭代对象才可以迭代,判断一个对象是不是可以迭代的方法如下:

>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False

 

普通迭代:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)


Michael
Bob
Tracy

 

 

对于字典的迭代:

>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:
...     print(key)
...
a
c
b

发现,迭代出来的结果是键key的值,而且不是顺序的(字典排序是无序的)

 

对于字典迭代值value

for value in d.values()

对于字典迭代key和value

for k, v in d.items()

 

------------------------------------------------------------------------------------------------------------------

额外知识点:

enumerate函数,可以把一个list变成索引-元素对

>>> for i, value in enumerate(['A', 'B', 'C']):
...     print(i, value)
...
0 A
1 B
2 C

 

posted @   听着music睡  阅读(172)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2015-10-17 浅谈DES加密算法
2015-10-17 浅谈URLEncoder编码算法
点击右上角即可分享
微信分享提示