網站首頁 編程語言 正文
可迭代(iterable)
迭代(遍歷)就是按照某種順序逐個訪問對象中的每一項。
Python中有很多對象都是可以通過for語句來直接遍歷的,例如list、string、dict等,這些對象都是可迭代的,被稱為可迭代對象。
可以將可迭代對象想象成一個容器,里面存放了有限個元素,并且每個元素都可以從中獲取出來。那么這個容器就是可迭代的,這個容器就是可迭代對象。
所有的可迭代對象都需要實現__iter__方法,該方法就是用于當我們在循環時將可迭代對象轉換成迭代器的。
迭代器(iterator)
迭代器是可迭代對象的一個子集。是一個可以記住遍歷的位置的對象,它與列表、元組、集合、字符串這些可迭代對象的區別就在于__next__()方法的實現。也就是通過該方法可以一個個的將元素取出來。即遍歷可迭代對象的方法就為迭代器。
迭代器支持__iter__()和__next__()方法。其中:iter()方法返回迭代器對象本身,而可迭代對象的該方法則返回其迭代器。
next()方法返回容器的下一個元素,在結尾時引發StopIteration異常。
方法1:使用for循環簡單結構遍歷
對迭代對象直接for循環遍歷
li=[1,2,3,4]
li2=[5,6,7,8]
for i in li2:
li.append(i)
print(li)
[1, 2, 3, 4, 5, 6, 7, 8]
方法2:借用 range() 和 len() 函數遍歷
這種方法可以使用數組中常用的alist[i]來遍歷列表
li=[1,2,3,4]
li2=[5,6,7,8]
for i in range(len(li2)):
li.append(li2[i])
print(li)
[1, 2, 3, 4, 5, 6, 7, 8]
方法3:借用 iter() 函數遍歷
這種方法是利用迭代器的思想,迭代器是一個可以記住遍歷的位置的對象,迭代器有兩個基本的方法:iter() 和 next()。
使用iter(iterable)即可把可迭代對象轉換成迭代器;使用next(iterator)來獲取迭代器的下一個值
li3 = [5,6,7,8]
for i in iter(li3):
print(i)
5
6
7
8
方法4:借用 enumerate() 函數遍歷
當既需要遍歷索引同時需要遍歷元素的時候,可以考慮使用enumerate函數,enumerate函數接受一個可遍歷的對象,如列表、字符串等
li4 = ['C','C#','JAVA']
for i,li4 in enumerate(li4):
print(i+1,li4)
1 C
2 C#
3 JAVA
原文鏈接:https://blog.csdn.net/weixin_57038791/article/details/129224380
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-10-02 Golang交叉編譯(跨平臺編譯)的使用_Golang
- 2022-03-04 element-ui修改tooltip的背景顏色和小箭頭的顏色
- 2022-10-14 Transformer解讀之:Transformer 中的 Attention 機制
- 2022-12-11 Redis?Cluster原理及配置詳解_Redis
- 2022-04-12 Trailing spaces not allowed no-trailing-spaces
- 2022-09-19 C++學習之Lambda表達式的用法詳解_C 語言
- 2023-10-16 微信小程序radio單選按鈕選中與取消
- 2022-07-17 Linux安裝Anaconda及簡單操作
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支