リストのリストからリストのコピーを作成する必要があります。次のコードは、エラーメッセージが表示できます:反復でリストをコピーするにはどうすればよいですか?
y = list[x]
TypeError: unsubscriptable object
a = [[0],[1]]
for x in a:
y = list[x]
print y
を私はここで間違って何をしているのですか?
リストのリストからリストのコピーを作成する必要があります。次のコードは、エラーメッセージが表示できます:反復でリストをコピーするにはどうすればよいですか?
y = list[x]
TypeError: unsubscriptable object
a = [[0],[1]]
for x in a:
y = list[x]
print y
を私はここで間違って何をしているのですか?
y = list[x]
あなたは、パラメータとして変数xとリストのコンストラクタを呼び出すことを意味し、代わりの変数「リスト」内の要素の「x」にアクセスしようとしていませんか? のように:
y = list(x)
これは "キャスト"自体ではなく、 "リストコンストラクタ "を参照してください。 –
あなたは正しいです。そこに私の卑劣な用語、私の悪い。 – veiset
@veiset:あなたは答えを編集してもう少し正確にすることができます。 –
y=list(x)
上記1は
list
が実際にタイプで正常に動作する必要がありますので、試してみて、そのx
要素を取得しても意味がありません。リストをインスタンス化する場合は、list(iterable)
を使用する必要があります。
リストをコピーする場合は、より簡単な解決策はcopy
モジュールを使用することです。
import copy
a = [[0],[1]]
new_list = copy.copy(a[0])
あなたがネストされた要素を持つ項目をコピーしたい場合は、あなたがcopy.deepcopy
を使用する必要がありますという事実に注意してください。
'y = list(x)'です。括弧。 – wberry
また、 'x [:]'を使ってコピーを作成することもできます。 –
私の悪い。どうすれば自分の質問を閉じることができますか? – nos