中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中for循環怎么定義迭代

發布時間:2022-05-05 13:41:41 來源:億速云 閱讀:146 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Python中for循環怎么定義迭代”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Python中for循環怎么定義迭代”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

Python的 for 循環

Python 是基于集合的迭代。

for <var> in <iterable>: # <iterable>是對象的集合——例如,列表或元組。
    <statement(s)> # 循環體

a = ['曹操', '孫権', '劉備']
for i in a:
    print(i)

輸出:

曹操
孫権
劉備

可迭代對象 ,可以被傳遞給內置的 Python 函數 iter() 處理,返回做迭代器

iter('曹操孫権')                             # String
<str_iterator object at 0x036E2750>

iter(['曹操', '孫権', '劉備'])                # List
<list_iterator object at 0x036E27D0>

iter(('曹操', '孫権', '劉備'))                # Tuple
<tuple_iterator object at 0x036E27F0>

iter({'曹操', '孫権', '劉備'})                # Set
<set_iterator object at 0x036DEA08>

iter({'曹操': 1, '孫権': 2, '劉備': 3})       # Dict
<dict_keyiterator object at 0x036DD990>

不可以迭代的對象

iter(1)                                   # Integer
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable

iter(1.1)                                  # Float
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'float' object is not iterable

iter(len)                                  # Built-in function
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'builtin_function_or_method' object is not iterable

迭代器,是一個值生產者,從其關聯的可迭代對象中產生連續的值。內置函數 next() 用于從迭代器中獲取下一個值。

list_ = ['曹操', '孫権', '劉備']

itr = iter(list_ )
itr
<list_iterator object at 0x031EFD10>

next(itr)
'曹操'
next(itr)
'孫権'
next(itr)
'劉備'

使用內置 list()、tuple() 和 set() 函數一次從迭代器中獲取所有值。

list_ = ['曹操', '孫権', '劉備']
itr = iter(list_)
list(itr)
['曹操', '孫権', '劉備']

itr = iter(list_)
tuple(itr)
('曹操', '孫権', '劉備')

itr = iter(list_)
set(itr)
{'劉備', '曹操', '孫権'}

遍歷字典

字典的遍歷循環,循環變量被分配給字典的鍵。

d = {'曹操': 1, '孫権': 2, '劉備': 3}

for k in d:
    print(k)

輸出:

曹操
孫権
劉備

訪問字典值的操作

for k in d:
    print(d[k])

#輸出:
#1
#2
#3

for v in d.values():
    print(v)

#輸出:
#1
#2
#3

同時遍歷字典的鍵和值。循環變量 for 不限于單個變量,可以是元組。

i, j = (1, 2)

print(i, j)
1 2

for i, j in [(1, 2), (3, 4), (5, 6)]:
    print(i, j)

輸出:

1 2
3 4
5 6

字典方法 items() 有效地將鍵/值對列表作為元組返回。

d = {'曹操': 1, '孫権': 2, '劉備': 3}

d.items()
dict_items([('曹操', 1), ('孫権', 2), ('劉備', 3)])

d = {'曹操': 1, '孫権': 2, '劉備': 3}
for k, v in d.items():
    print('k =', k, ', v =', v)

輸出:

k = 曹操 , v = 1
k = 孫権 , v = 2
k = 劉備 , v = 3

range()功能

Python 提供了內置range()函數,返回一個產生整數序列的迭代。

Python中for循環怎么定義迭代

range(<end>)返回一個產生以0開頭的整數的迭代,直到<end>但不包括<end>數值

x = range(5)
x
range(0, 5)
type(x)
<class 'range'>

range對象是可迭代的,所以可以通過for循環遍歷它們來獲取值。

for n in x:
    print(n)

輸出:

0
1
2
3
4

list() 、tuple() 一次獲取所有的循環遍歷的值。

list(x)
[0, 1, 2, 3, 4]

tuple(x)
(0, 1, 2, 3, 4)

range(<start>, <end>, <step>)返回一個迭代結果。

list(range(5, 20, 3))
[5, 8, 11, 14, 17]

# 默認為1
list(range(5, 10, 1))
[5, 6, 7, 8, 9]

list(range(5, 10))
[5, 6, 7, 8, 9]

# 數值范圍必須是可以正向迭代
list(range(-5, 5))
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]

list(range(5, -5))
[]

list(range(5, -5, -1))
[5, 4, 3, 2, 1, 0, -1, -2, -3, -4]

break語句 和continue語句

break 完全終止循環。

for i in ['曹操', '孫権', '劉備']:
    if '孫' in i:
        break
    print(i)

輸出:

曹操

continue 終止當前迭代并進行下一次迭代。

for i in ['曹操', '孫権', '劉備']:
    if '孫' in i:
        continue
    print(i)

輸出:

曹操
劉備

else語句

for 循環的子句 else,類似于 while 循環的使用。

for i in ['曹操', '孫権', '劉備']:
    print(i)
else:
    print('結束。')

輸出:

曹操
孫権
劉備
結束。

else 如果列表被一條語句 break,則不會執行。

for i in ['曹操', '孫権', '劉備']:
    if i == '孫権':
        break
    print(i)
else:
    print('結束。')

輸出:

曹操

讀到這里,這篇“Python中for循環怎么定義迭代”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南部县| 西安市| 彭水| 平谷区| 通化县| 永嘉县| 上思县| 临湘市| 虹口区| 琼中| 聊城市| 阜宁县| 贵港市| 新绛县| 犍为县| 柏乡县| 安陆市| 博乐市| 建阳市| 白银市| 桦南县| 利川市| 成都市| 弥勒县| 保定市| 泾源县| 富民县| 吴堡县| 绵竹市| 固始县| 通化县| 富平县| 陆丰市| 嵊泗县| 集贤县| 三原县| 界首市| 定州市| 双桥区| 苏尼特左旗| 湘潭市|