在python中,for循環(huán)扮演著迭代器的作用.for循環(huán)可以遍歷有序序列或者其他可以迭代的類型內(nèi)部的元素.Python中可遍歷的數(shù)據(jù)類型包括字符串恩闻、列表、元組,甚至還包括字典里支持遍歷的鍵或值挺邀。
下面是python中for循環(huán)的語法:
for item in object:
statements to do stuff
將進(jìn)行遍歷的項(xiàng)目的變量名是由編程者自己定的,所以盡量起一些簡單易記得名字方面后面的使用跳座。在后面的循環(huán)中這個(gè)遍歷的項(xiàng)目的名稱會(huì)被引用端铛,比如你可能在后面使用if語句來執(zhí)行檢查。
實(shí)例
遍歷列表
list1 = [1,2,3,4,5,6,7,8,9,10]
for num in list1:
print(num)
輸出結(jié)果:
1
2
3
4
5
6
7
8
9
10
找出list1里的偶數(shù),可以理解為有條件的遍歷.
for num in list1:
if num % 2 == 0:
print(num)
輸出結(jié)果為:
2
4
6
8
10
加上else,找出list1里的奇數(shù)
for num in list1:
if num % 2 == 0:
print(num)
else:
print('Odd number')
輸出結(jié)果:
Odd number
2
Odd number
4
Odd number
6
Odd number
8
Odd number
10
下面的列表里面的元素是元組,同樣可以打印
list2 = [(2,4),(6,8),(10,12)]
for tup in list2:
print(tup)
輸出結(jié)果:
(2, 4)
(6, 8)
(10, 12)
對(duì)列表對(duì)象進(jìn)行解包
for (t1,t2) in list2: #t1代表元組里的第一個(gè)元素,t2代表元組里第二個(gè)元素
print(t1)
輸出結(jié)果為:
2
6
10
利用列表里的元素進(jìn)行計(jì)算
list_sum = 0
for num in list1:
list_sum = list_sum + num
print(list_sum)`
list_sum = 0
for num in list1:
list_sum += num
print(list_sum)
遍歷字符串
for letter in 'This is a string.':
print(letter)
輸出結(jié)果:
T
h
i
s
i
s
a
s
t
r
i
n
g
.
遍歷元組
tup = (1,2,3,4,5)
for t in tup:
print(t)
輸出結(jié)果:
1
2
3
4
5
遍歷字典
d = {'k1':1,'k2':2,'k3':3}
for item in d:
print(item)
輸出結(jié)果:
k1
k2
k3
上面的字典遍歷,我們得到了字典的鍵.那如何得到值或者鍵和值一起得到呢?我們可以使用** .keys(), .values(), .items()**.
# 創(chuàng)建一個(gè)字典視圖對(duì)象
d.items()
輸出結(jié)果為
dict_items([('k1', 1), ('k2', 2), ('k3', 3)])
.items() 支持迭代,我們可以執(zhí)行字典解包分別獲得鍵和值.
# 字典解包
for k,v in d.items():
print(k)
print(v)
輸出結(jié)果為:
k1
1
k2
2
k3
3
如果你想獲得鍵組成的列表疲眷、值組成的列表或者鍵-值對(duì)組成的列表禾蚕,你可以使用list().
list(d.keys())
list(d.values())
list(d.items())
輸出結(jié)果為:
['k1', 'k2', 'k3']
[1, 2, 3]
[('k1', 1), ('k2', 2), ('k3', 3)]
請(qǐng)記住字典是無序的,如果想對(duì)提取的字典的鍵或者值得信息排序,可以用sort()
sorted(d.values())
輸出結(jié)果為:
[1, 2, 3]
至此,我們學(xué)習(xí)了for循環(huán)遍歷列表、字符串狂丝、元組和字典换淆。遍歷是一個(gè)很強(qiáng)大的工具虚倒,我們要學(xué)會(huì)好好使用它。