以下是我想要做的:for-expression .append()動作,而不是執行生成器的列表理解:使用表達式追加到列表的pythonic方式:循環.append()動作
l = ['some existing elements']
l.append([0, 0, 0, n]) for n in range(10)
# this will give error
我有點明白,爲什麼我上面的代碼是錯誤的,見下圖:
l = [ [].append([0, 0, 0, n]) for n in range(10) ]
l
>>> [None, None, None, None, None, None, None, None, None, None]
# python is putting the result of expression "[].append([0,0,0,n])" 10 times in
# a list comprehension, instead of doing appending 10 times
如果我們有像DoIt_InsteadOfEvalutingIt(l.append([0,0,0,n])) for n in range(10)
我想知道?
我是在浪費大家的時間嗎? for-expression僅適用於列表理解或生成器?可能這是我應該去老同學,只是做(也更快大概):
l = ['some existing elements']
for n in range(10):
l.append([0, 0, 0, n])
# or
# use for expression to create the data, and append the data
l = ['some existing elements']
l.append([[0, 0, 0, n] for n in range(10)])
什麼是您預期的輸出? –
...什麼? '[[0,0,n,n]在範圍內(10)]' –
我知道一個簡單的例子沒有區別,但我想循環「,append()」動作而不是構建先列出理解,然後追加列表理解。 – YunliuStorage