目錄
- 前置知識(shí)
- 可迭代對(duì)象
- 如何判斷一個(gè)對(duì)象是否是可迭代對(duì)象?
- enumerate 函數(shù)
- 多嵌套列表
- 總結(jié)
前置知識(shí)
如果給定一個(gè) list 或 tuple,我們可以通過(guò) for 循環(huán)來(lái)遍歷這個(gè) list 或 tuple,這種遍歷我們稱為迭代(Iteration)
在 Python 中,迭代是通過(guò) for ... in 來(lái)完成的
lists = [1, 2, 3, 4, 5]
for i in lists:
print(i)
可迭代對(duì)象
for 循環(huán)不僅可以用在 list 或 tuple 上,還可以用在其他可迭代對(duì)象上
list 這種數(shù)據(jù)類(lèi)型雖然有下標(biāo),但很多其他數(shù)據(jù)類(lèi)型是沒(méi)有下標(biāo)的,但是只要是可迭代對(duì)象,無(wú)論有無(wú)下標(biāo),都可以迭代
dicts = {
"a": 1,
"b": 2
}
for i in dicts:
print(i)
# 輸出結(jié)果
a
b
如何判斷一個(gè)對(duì)象是否是可迭代對(duì)象?
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))
# 輸出結(jié)果
True
True
True
False
enumerate 函數(shù)
循環(huán)列表的話,默認(rèn)是只返回元素值,如果想同時(shí)拿到元素值和對(duì)應(yīng)的下標(biāo)值呢?
enumerate 函數(shù)可以把 list 變成一個(gè) 索引-元素對(duì)的迭代對(duì)象,然后循環(huán)遍歷這個(gè)對(duì)象即可
lists = [1, 2, 3, 4, 5]
# 看看是不是迭代對(duì)象
print(isinstance(enumerate(lists), Iterable))
# 循環(huán)
for ind, val in enumerate(lists):
print(ind, val)
# 輸出結(jié)果
True
0 1
1 2
2 3
3 4
4 5
多嵌套列表
for x, y in [(1, 1), (2, 4), (3, 9)]:
print(x, y)
# 輸出結(jié)果
1 1
2 4
3 9
總結(jié)
任何可迭代對(duì)象都可以作用于 for 循環(huán),包括我們自定義的數(shù)據(jù)類(lèi)型,只要符合迭代條件,就可以使用 for 循環(huán)
到此這篇關(guān)于Python 可迭代對(duì)象 iterable的具體使用的文章就介紹到這了,更多相關(guān)Python 可迭代對(duì)象 iterable內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python中可變和不可變對(duì)象的深入講解
- python獲取對(duì)象信息的實(shí)例詳解
- python面向?qū)ο笾?lèi)的繼承詳解
- 簡(jiǎn)單談?wù)凱ython面向?qū)ο蟮南嚓P(guān)知識(shí)
- Python面向?qū)ο笾蓡T相關(guān)知識(shí)總結(jié)
- Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識(shí)總結(jié)
- python面向?qū)ο蟀鎸W(xué)生信息管理系統(tǒng)
- python面向?qū)ο蠡A(chǔ)之常用魔術(shù)方法
- python學(xué)習(xí)之可迭代對(duì)象、迭代器、生成器
- Python中的類(lèi)對(duì)象示例詳解
- Python 的可變和不可變對(duì)象詳情