我現在有這個多維度的列表,我試圖從它的第一列:這兩個for循環之間的區別是什麼?
>>> print(data)
[['com.borderstylo.retrollect', '0', '0'], ['aabasoft.presents.goldprice', '0', '0'], ['aberl.vlc.light.mote', '0', '0']]
當我使用
sitelist = []
for row in data:
sitelist.append(row[0])
print(sitelist)
我得到下面的輸出,這就是我後。
['com.borderstylo.retrollect', 'aabasoft.presents.goldprice', 'aberl.vlc.light.mote']
然而,當我使用
sitelist = []
sitelist = (row[0] for row in data)
print(sitelist)
type(sitelist)
我得到的輸出,而不是下面,這是一個發電機對象。什麼是生成器對象,爲什麼第一組代碼返回與第二組不同的東西?兩者看起來都很相似。
<generator object <genexpr> at 0x001A9E10>
generator
非常感謝您的回覆。新手在python,但真的想學習。
列表解析使用括號,而不是括號。圓括號表示基因xp。 – user2357112
您可能對[本討論]感興趣(http://stackoverflow.com/questions/1756096/understanding-generators-in-python)。括號使發電機理解,而不是列表理解(使用括號)。 –
'sitelist = [row [0] for row in data]' – ozgur