對大多數初學者來說,可迭代這個名詞很陌生,但他的另乙個說法有一點基礎的人一定都不陌生,就是遍歷。
在python中,對list、tuple、dict、set、str等型別的資料使用for…in…的迴圈語法從其中依次拿到資料進行使用,我們把這樣的過程稱為遍歷,也叫迭代。但是,並不是所有的資料型別都可以進行遍歷(迭代),我們通過例項來看:
1.列表
# 測試列表是否可迭代
for list1 in[1
,2,3
]:print
(list1,end=
'')
輸出結果
123
2.元組
# 測試元組是否可迭代
for tuple1 in(4
,5,6
):print
(tuple1, end=
'')
輸出結果
456
3.字串
# 測試字串是否可迭代
forstr
in'hello world'
:print
(str
, end=
'')
輸出結果
hello world
4.整型
# 測試整型是否可迭代
for int1 in
123:
print
(int1, end=
'')
輸出結果
traceback (most recent call last)
: file "a:/py_demo/day_5.py"
, line 52,in
for int1 in
123:
typeerror:
'int'
object
isnot iterable
process finished with exit code 1
這裡報錯就可以看出整型不可以迭代,仔細觀察一下報錯的內容"typeerror: 『int』 object is not iterable",這句話的翻譯過來就是:整型的物件不可以迭代。
除此以外,還有一種快捷的方法可以判斷該資料型別是否可以迭代。
利用iterable
from collections import iterable
print
(isinstance([
], iterable)
)# 列表
print
(isinstance((
), iterable)
)# 元組
print
(isinstance
('str'
, iterable)
)# 字串
print
(isinstance
(100
, iterable)
)# 整型
print
(isinstance
(, iterable)
)# 字典
print
(isinstance
(, iterable)
)# 集合
輸出結果
true
true
true
false
true
true
這就是乙個比較直接的方法 python中 可迭代物件
迭代是訪問集合元素的 種 式。迭代器是 個可以記住遍歷的位置的物件。迭代器物件從集合的第 個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。我們已經知道可以對list tuple str等型別的資料使 for in 的迴圈語法從 其中依次拿到資料進 使 我們把這樣的過程稱為遍歷,也...
python中可迭代物件反轉
1 字串反轉 a 839574 reversed a object at 0x00000215caca0d60 for i in reversed a reversed反轉為迭代器物件 print i,end 4 7 5 9 3 8 a 839574 a.reverse 字串不能都就地反轉 trac...
Python 可迭代物件
1.可迭代物件 以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別 如 list tuple dict set str等 一類是generator,包括生成器和帶yield 的 generator function 這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable 2...