Python創(chuàng)建數(shù)值列表(54)

需要存儲一組數(shù)字的原因有很多,例如,在游戲中,需要跟蹤每個角色的位置,還可能需要跟蹤玩家的幾個最高得分。在數(shù)據(jù)可視化中,處理的幾乎都是由數(shù)字(如溫度、距離、人口數(shù)量、精度和緯度等)組成的集合。

列表非常適合用于存儲數(shù)字集合,而Python提供了很多工具,可幫助你高效地處理數(shù)字列表。明白如何有效地使用這些工具后,即使列表包含數(shù)百萬個元素,你編寫的代碼也能運行得很好。

python大大的圖

圖片發(fā)自簡書App

我的圖

圖片發(fā)自簡書App

1.使用函數(shù)range()

函數(shù)原型:range(start, end, scan)

參數(shù)含義:

start:計數(shù)從start開始,包含start,如果range括號里只有一個參數(shù),那么默認計數(shù)從0開始。range(6)等價于range(0,6)

end:計數(shù)到end結(jié)束,但不包含end。如果range括號里只有一個參數(shù),那么那個參數(shù)是end。默認計數(shù)從0開始,到end-1為止。例如:range(6)的結(jié)果是0,1,2,3,4,5。從0開始,沒有6。

scan:每次跳躍的間距,即步長,默認為1。例如:range(0,6)等價于range(0,6,1)。再舉一個例子:range(2,11,2)是說循環(huán)從2開始,到10結(jié)束,每次步進為2。

使用range( )時,如果輸出不符合預(yù)期,請嘗試將指定的值加1或減1。

2.使用range( )創(chuàng)建數(shù)字列表

要創(chuàng)建數(shù)字列表,可使用函數(shù)list( )將range( )的結(jié)果直接轉(zhuǎn)換為列表。如果將range( )作為list( )的參數(shù),輸出將為一個數(shù)字列表。

我們print(range(4))的結(jié)果得到4行數(shù)字,而print list(range(4))的結(jié)果為一個一行的列表。

使用函數(shù)range( )幾乎能夠創(chuàng)建任何需要的數(shù)字集。從第10行到第13行創(chuàng)建了一個從1到10的平方列表。首先創(chuàng)建一個空列表squares,接下來使用函數(shù)range( )讓python遍歷1~10的值。在循環(huán)中,計算當前值的平方,并將計算得到的平方值附加到squares的末尾。最后,循環(huán)結(jié)束后,打印列表。在這個程序中并未使用臨時變量square。

有時候,使用臨時變量會讓代碼更易讀;而在其他情況下,這樣做只會讓代碼無謂地變長。你首先應(yīng)該考慮的是,編寫清晰易懂且能完成所需功能的代碼;等到審核代碼時,再考慮采用更高效的方法。

3.對數(shù)字列表執(zhí)行簡單的統(tǒng)計計算

有幾個專門用于處理數(shù)字列表的Python函數(shù)。見代碼14~16行,你可以輕松低找出數(shù)字列表的最小值,最大值和總和。

4.列表解析

前面介紹的生成列表squares的方式包含四行代碼,而列表解析讓你只需編寫一行代碼就能生成這樣的列表。列表解析將for循環(huán)和創(chuàng)建新元素的代碼合并成一行,并自動附加新元素。

圖片發(fā)自簡書App

列表名=[表達式 for循環(huán)]

在本例中,列表名為squares;表達式為value**2,它計算平方值,用于生成你要存儲到列表中的值。for循環(huán)為for value in range(1,11),它將值1~10提供給表達式value**2。請注意:這里的for語句末尾沒有冒號。

其實列表解析在表達式后面不止可以寫一個for循環(huán)。比如我可以寫一個for循環(huán)再寫一個if語句,就是說for循環(huán)里滿足條件的值才進入表達式用于生成列表。或者我也可以寫兩個for循環(huán)。

圖片發(fā)自簡書App

當你覺得編寫三四行代碼來生成列表有點繁復(fù)時,就應(yīng)該考慮創(chuàng)建列表解析了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容