1. 基本對象類型(python里面一切皆是對象)
(接前文)
1.5.5 遍歷整個列表
通過使用for 循環(huán),遍歷列表的所有元素趣避,縮進的代碼行都是循環(huán)的一部分庞呕,對每個元素執(zhí)行相同的操作。示例:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
? ? print(magician.title() + ", that was a great trick!")? #縮進,所有元素都會執(zhí)行
print("\nThank you, everyone. That was a great magic show!") #沒有縮進住练,不屬于for循環(huán)
輸出:
Alice, that was a great trick!
David, that was a great trick!
Carolina, that was a great trick!
Thank you, everyone. That was a great magic show!
示例中定義了一個列表magicians地啰。for 循環(huán)從列表magicians 中取出一個名字,并將其存儲在變量magician 中讲逛,重復(fù)執(zhí)行print指令亏吝,即對列表magicians 中的每位魔術(shù)師,打印信息盏混。
注意:循環(huán)語句縮進容易出錯蔚鸥,務(wù)必謹慎。
補充:列的名稱建議使用能描述元素的名稱的復(fù)數(shù)形式许赃,編寫for 循環(huán)時存儲列表中每個值的臨時變量名稱建議使用單數(shù)形式止喷。如for dog in dogs:
1.5.6 創(chuàng)建數(shù)值列表
1.5.6.1 函數(shù)range()
函數(shù)range(m,n,s) 生成從m開始到n-1(注意不是n)的一串數(shù)字集,步長為s混聊。
注意:若m不指定弹谁,則默認從0開始;若步長不指定句喜,則默認為1预愤。
range()創(chuàng)建的是數(shù)字集。示例:
for value in range(2,6):
? ? print(value)
#生成數(shù)字集2咳胃、3植康、4、5
for value in range(1,11,2):? #從1到11拙绊,步長為2向图,即10以內(nèi)的奇數(shù)。不包括11
? ? print(value)
#生成數(shù)字集1标沪、3榄攀、5、7金句、9
1.5.6.2 使用range()創(chuàng)建數(shù)字列表
使用類型轉(zhuǎn)換函數(shù)list() 將range() 的結(jié)果直接轉(zhuǎn)換為數(shù)字列表檩赢。示例:
numbers = list(range(1,6)) #list函數(shù)轉(zhuǎn)換類型為列表
print(numbers) #輸出[1, 2, 3, 4, 5]
示例:
squares = []
for value in range(1,11):? #for在數(shù)字集中循環(huán)
squares.append(value**2) #添加列表squares末尾
print(squares) #s輸出[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
1.5.7 列表解析
格式:[表達式 for 給表達式提供值]。示例:
squares = [value**2 for value in range(1,11)]
print(squares) #輸出[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
說明:示例中for 循環(huán)為for value in range(1,11) 违寞,它將值1~10提供給表達式value**2 贞瞒。注意,這里的for 語句末尾沒有冒號趁曼。