隨機生成數字組成列表 列表推導式,學會那叫乙個真香

2021-10-25 13:32:37 字數 2000 閱讀 8476

列表解析式(list comprehension)或者稱為列表推導式,是 python 中非常強大和優雅的方法。它可以基於現有的列表做一些操作,從而快速建立新列表。

如果在我們剛接觸 python 時,列表推導式可能看起來比較複雜,但是了解後會發現它非常好用。列表推導式不僅可讀性非常強,它所需要的**量是最少的。它的執行速度也是最快的。更重要的是這種寫法也非常的炫酷。

接下來咱們看一下列表推導式的幾種寫法。

一生成指定範圍內的數值列表

語法格式

list = [expression for var in range]

引數說明

list:生成列表的名稱expression:用於計算新列表的表示式var:迴圈變數range:採用range()函式生成的range物件

示例

'''隨機生成10-100之間的十個數字'''
import random
random_number = [random.randint(10,100) for i in range(10)]
print(random_number)
執行結果

一根據列表生成指定需求的列表

語法格式

newlist = [expression for var in list]

引數說明

newlist:生成新列表的名稱

expression:用於計算新列表的表示式

var:變數,值為後面列表的每個元素

list:指的是生成新列表的原列表

示例

'''定義乙個商品**列表,應用列表推導式將全部商品打五折展示'''price = [1200,4600,6400,3200,8800,7200,10000]new_price = [int(x*0.5) for x in price]print('原價:',price)print('五折:',new_price)
執行結果

原價:[1200, 4600, 6400, 3200, 8800, 7200, 10000]五折:[600, 2300, 3200, 1600, 4400, 3600, 5000]
一從列表中選擇符合條件的元素組成新的列表

語法格式

newlist = [expression for var in list if condition]

引數說明

newlist:生成新列表的名稱

expression:用於計算新列表的表示式

var:變數,值為後面列表的每個元素

list:指的是生成新列表的原列表

condition:條件表示式,應用指定篩選條件

示例

'''定義乙個學生成績列表,篩選出成績高於80分的成績'''score = [88,65,91,73,81,94,79,78]new_score = [x for x in score if x > 80]print('score:',score)print('score > 80:',new_score)
執行結果

列表生成式(列表解析式 列表推導式)

li for i in range 0,101 print li 用列表解析式 列表生成式 列表推導式 li i for i in range 0,101 print li 裡面的i可以是其他的 li x for x in range 0,101 print li 對結果進行其他操作方式 li i ...

Python列表推導式和生成式

推導式 作用 按一定的邏輯順序,生成列表,簡單且快捷 語法一 表示式 for 變數 in 舊列表 例如生成乙個 1,2,3,4,5,6,7 列表 x for x in range 1 8 或者生成乙個 1,4,9,16,25,36,49,64,81 的列表 x x for x in range 1 ...

生成器,生成器推導式和列表推導式

python社群,大部分生成器和迭代器是一種 生成器的本質是迭代器 唯一區別 生成器是我們自己用python 構建的資料結構 迭代器都是提供的,或者轉化得來的 生成器函式 生成器表示式 python提供的 yield 乙個next 對應乙個yield yield和下乙個yield中間有 的話只執行乙...