常見 python for loop 迴圈寫法



For 迴圈在 python 中是非常常用的內建函數,會使用的話可以解決許多程式設計上的問題。比如說,我想讓某段程式碼執行幾次,而不是需要使用者一直在重複按開始才能執行程式。

那讓我們來看看以下的範例


設定迴圈次數

times = 5
for i in range(times):
    print(i)


依列表長度印出列表字串


cmp = ['google', 'facebook', 'youtube', 'yahoo']
for i in range(len(cmp)):
    print(cmp[i])

從列表最尾端逐一排列

cmp = ['google', 'facebook', 'youtube', 'yahoo']
for i in reversed(cmp):
    print(i)




另一種乾淨簡短的寫法

使用enumerate() 可以自動加入索引,不需要再另外加入其他的寫法,讓代碼更簡潔

cmp = ['google', 'facebook', 'youtube', 'yahoo']
for i,cmps in enumerate(cmp):
    print(i, '-->', cmps)



建立個別的list,在合併印出

names = ['jojo', 'Mary', 'jeff']
age = ['12', '8', '15']

n = min(len(names), len(age))
for i in range(n):
    print(names[i], '-->', age[i])




使用內建函數zip(),寫起來更簡短


names = ['jojo', 'Mary', 'jeff']
age = ['12', '8', '15']

for name,age in zip(names, age):
    print(name, '-->', age)



檢查 list 內有多少重複的字串


names = ['lily', 'jojo', 'jojo', 'lily', 'lily', 'pk']
d = {}

for n in names:
    if not n in d:
        d[n] = 0
    d[n] += 1
    
print(d)



for 迴圈單行寫法

1.這種寫法雖然很難看懂,但主要是降低內存,提高程式效率的寫法。

limit 主要是限制每組 list 所能容納的數量,所以每組最多3個string or int。

lst = ["1","2","3","4","5","6","7","8","9"]
limit = 3
a = [lst[i:i + limit] for i in range(0, len(lst), limit)]

print(a)



2.原始的寫法是長成這個樣子,得出的輸出結果是一樣的


a = []
lst = ["1","2","3","4","5","6","7","8","9"]
limit = 3

b = lst[i:i+limit]
for i in range(0, len(lst),limit):
     a.append(b)

print(a)


1 則留言:

技術提供:Blogger.