python數值列表的建立和使用

2022-08-30 07:54:11 字數 3072 閱讀 7519

需要儲存一組數字的原因有很多,例如,在遊戲中,需要跟蹤每個角色的位置,還可能需要跟蹤玩家的幾個最高得分。

在資料視覺化中,處理的幾乎都是由數字(如溫度、距離、人口數量、經度和緯度等)組成的集合

列表非常適合用於儲存數字集合,而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...