私は現在、この多次元のリストを持っていると私はそれから1列目を抽出しようとしています:これら2つのループの違いは何ですか?
>>> 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)
を使用しています。ジェネレータオブジェクトとは何ですか?なぜ第1コードセットが第2コードと何か異なるものを返しますか?どちらも非常によく似ています。
<generator object <genexpr> at 0x001A9E10>
generator
返信いただきありがとうございます。初心者のpythonではなく、本当に学びたい。
リスト内包表記はかっこではなく角かっこを使用します。かっこがgenexpを作成します。 – user2357112
[このディスカッション](http://stackoverflow.com/questions/1756096/understanding-generators-in-python)に興味があるかもしれません。かっこは、リストの理解(角括弧を使用)ではなく、生成者の理解を行います。 –
'sitelist = [データの行の行[0]] – ozgur