生成如下列表
[[0,0,0,0,0,],[0,1,2,3,4,],[0,2,4,6,8,],[0,3,6,9,12,]]
(考察列表生成式和基本邏輯推理)
方法1:
list1 =方法2:forin range(4):
temp =
for j in range(5):
print(list1)
list1 =[[ i*j for j in range(5)] for i in range(4)]列表推導式是python中快速建立列表的一種方式。print(list1)
之前我們要建立(python3中)乙個元素是0~9的列表,我們可能會像下面這麼寫:
>>>list(range(10))[這麼寫沒毛病,但是如果要稍微複雜一點的需求可能就有點棘手了,比如0,1,2,3,4,5,6,7,8,9]
把列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
中的每個元素都加100,生成乙個新列表,這要怎麼寫呢?
一級學徒可能會這麼寫:
>>>list1 = [0,1,2,3,4,5,6,7,8,9二級學徒可能會這麼寫:]>>>list2 =
>>>for i in
list1:
)...
>>>list2
[100,101,102,103,104,105,106,107,108,109]
>>>list2 = list(map(lambda x:x+100高階學徒可能會這麼寫:,list1))
>>>list2
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109]
>>>list2 = [i+100 for i in好啦,這第三種寫法就是今天我們要講的列表推導式。list1]
>>>listt2
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109]
接下來我們看一下,列表推導式的語法規範是什麼,看下圖:
>>>list1 = [1,2,3]>>>[x*10 for x in
list1]
[10,20,30]
>>>list1 = [1,2,3]3.多個輸入序列的列表推導式>>>[x*10 for x in list1 if x%2!=0] #
把list1中的奇數乘以10
[10,30]
list1 = ["注意:使用列表推導式生成的列表雖然十分方便,但是它生成的列表的所有元素會直接在記憶體中生成,當你要生成的列表元素個數十分巨大的時候,要注意小心你的記憶體。a","
b","c"
]list2 = ["
x","
y","z"
]>>>[x+y for x in list1 for y in
list2]['
ax', '
ay', '
az', '
bx', '
by', '
bz', '
cx', '
cy', '
cz']
Python之列表推導式
如下是python官方文件中列表推導式部分的譯文,筆者對於該部分也是初學,只能從官方文件學起了。有不合適的地方還望指正,謝謝。python官網列表推導式部分 一 列表推導式 列表推導式提供了一種建立list的簡便方法。應用程式建立列表時,列表中的元素 於其他序列 可迭代物件或建立的乙個滿足一定條件的...
python之列表推導式篇
商品打折 python列表推導式 打折 newlistname expression for in var listname 大於 newlistname var for var in listname if condition newlistname 新生成的列表名稱 expression 表示式...
Python之 列表推導式與字典推導式
四 列表推導式與字典推導式 在 python 中推導式是一種非常 pythonic 的知識,本篇將解答列表推導式與字典推導式相關的技術知識。4.1 列表推導式 列表推導式可以利用列表,元組,字典,集合等資料型別,快速的生成乙個特定需要的列表。語法格式如下 表示式 for 迭代變數 in 可迭代物件 ...