Pythonでは、ループを使用してリストに最も基本的な追加機能を実行しようとしています:ここに何が欠けているのか分かりません:
a=[]
for i in range(5):
a=a.append(i)
a
戻り値:'NoneType' object has no attribute 'append'
list.append
関数は値を返しませんが(None
)、メソッドを呼び出すために使用しているリストに値を追加するだけです。
最初のループラウンドでは、None
(append
が返されないため)をa
に割り当て、2回目のラウンドではa.append
を呼び出します。 a is None
それはあなたが捕らえている例外を発生させます
次のように変更するだけです。
a=[]
for i in range(5):
a.append(i)
a # the list with the new items.
編集:フアンがコメントで言ったように、それは何かを返します、None
割り当ては必要ありません。list.append(x)
は常にx
をa
に追加するため、a
を再定義する必要はありません。
a = []
for i in range(5):
a.append(i)
print(a)
は、あなたが必要とすることすべてです。これは、list
sが可変であるため機能します。
データ構造に関するドキュメント も参照してください。
再割り当てする必要はありません。
a=[]
for i in range(5):
a.append(i)
a