需要儲存一組數字的原因有很多,例如,在遊戲中,需要跟蹤每個角色的位置,還可能需要跟蹤玩家的幾個最高得分。
在資料視覺化中,處理的幾乎都是由數字(如溫度、距離、人口數量、經度和緯度等)組成的集合
。列表非常適合用於儲存數字集合,而python提供了很多任務具,可幫助高效地處理數字列表。
python函式
range()
能夠生成一系列的數字。例如,可以像下面這樣使用函式
range()
來列印一系列的數字:
for value in range(1,5):
print(value)
上述**好像應該列印數字1~5,但實際上它不會列印數字5:
>>>12
34>>>
函式range()從指定的第乙個值開始數,並在到達指定的第二個值後停止,因此輸出不包含第二個值(這裡為
5)。要列印數字
1~5,
需要使用
range(1,6)。使用range()時,如果輸出不符合預期,請嘗試將指定的值加1或減
1。要建立數字列表,可使用函式list()將
range()
的結果直接轉換為列表。
如果將range()
作為list()
的引數,輸出將為乙個數字列表。
在前一節的示例中,列印了一系列數字。要將這些數字
轉換為乙個列表,可使用list():
numbers = list(range(1,6))
print(numbers)
結果如下:
>>>
[1, 2, 3, 4, 5]
>>>
使用函式range()時,還可指定步長
。
例如,下面的**列印1~10內的偶數:
even_numbers = list(range(2,11,2))
print(even_numbers)
在這個示例中,函式range()從
2開始數,然後不斷地加
2,直到達到或超過終值(
11),因此輸出如下:
>>>
[2, 4, 6, 8, 10]
>>>
使用函式range()幾乎能夠建立任何需要的數字集,例如,如何建立乙個列表,其中包含前
10個整數(即
1~10
)的平方呢?
在python
中,兩個星號(
**)表示乘方運算。下面的**演示了如何將前
10個整數的平方加入到乙個列表中:
squares =
for value in range(1,11):
square = value**2
print(squares)
首先建立了乙個空列表;接下來,使用函式range()讓
python
遍歷1~10
的值。在迴圈中,計算當前值的平方,並將結果儲存到變數
square
中。然後,將新計算得到的平方值附加到列表
squares
末尾。最後,迴圈結束後,列印列表
squares
:>>>
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>
為讓這些**更簡潔,可不使用臨時變數square ,而直接將每個計算得到的值附加到列表末尾:
squares =
for value in range(1,11):
print(squares)
在迴圈中,計算每個值的平方,並立即將結果附加到列表squares的末尾。
建立更複雜的列表時,可使用上述兩種方法中的任何一種。
有時候,使用臨時變數會讓**更易讀;
而在其他情況下,這樣做只會讓**無謂地變長。
首先應該考慮的是,編寫清晰易懂且能完成所需功能的**;等到審核**時,再考慮採用更高效的方法。
有幾個專門用於
處理數字列表的python函式
。
找出數字列表的最大值、最小值和總和:
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits))
print(max(digits))
print(sum(digits))
>>>09
45>>>
前面介紹的生成列表squares的方式包含三四行**,而列表解析讓你只需編寫一行**就能生成這樣的列表。列表解析將
for迴圈和建立新元素的**合併成一行,並自動附加新元素。
squares = [value**2 for value in range(1,11)]
print(squares)
要使用這種語法:
首先指定乙個描述性的列表名,如squares;
然後,指定乙個左方括號
,並定義乙個表示式
,用於生成你要儲存到列表中的值。
在這個示例中,表示式為value**2 ,它計算平方值。
接下來,編寫乙個for 迴圈
,用於給表示式提供值
,再加上右方括號
。在這個示例中,for 迴圈為
for value in range(1,11)
,它將值
1~10
提供給表示式
value**2
。請注意,這裡的for 語句末尾沒有冒號
。squares = [value/2 for value in range(1,11)]
print(squares)
print(squares[len(squares)-1])
結果:[0, 1, 1, 2, 2, 3, 3, 4, 4, 5]
5要建立自己的列表解析,需要經過一定的練習,
當編寫三四行**生成列表有點繁複時,就應考慮建立列表解析了。
python列表的建立和刪除
列表 list 是最重要的python內建物件之一,是包含若干元素的有序聯絡記憶體空間在形式上,列表的所有元素放在一對方括號中,相鄰元素之間使用逗號分隔,同一列表元素的資料型別可以各不相同,可以同時包含整數 實數 字串等基本型別的元素,也可以包含列表 元組 字典 集合 函式以及其他任意物件。如果只有...
sparse image file的建立和使用
sparse file的檔案以sparse方式儲存,其優點是延遲分配磁碟空間,原理可模擬於可執行檔案中的.bss段。sparse file尤其適合作為虛擬機器的磁碟映像檔案。它僅保留一些建立時使用者指定的檔案大小資訊以及其他的metadata,使用allocation on demand的方式,用多...
列表的建立和列表的切片
a huui 6788,iiiyg 788 列表的第乙個建立方法 b list hui 68888,hhhhu 列表的第二次建立方 print a,b 列印出列表 print a 0 序號找到列表元素 print b.index hui 列表元素找到序號 print a.index 6788,0,4...