我目前有这个多维列表,我正在尝试从中提取第一列:
>>> 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的新手,但真的很想学习。
最佳答案
python中的列表推导是使用[]
创建的。
或者,在处理非常大的数据时,可以仅使用()
使用与理解相同的语法构造生成器。
因此,只需将()
更改为[]
。