前提・実現したいこと
Python初心者で、1から勉強しています。
リストオブジェクトのclearメソッドの挙動を知りたい。
発生している問題・エラーメッセージ
リストオブジェクトのclearを使用して、List3をList3.clear()すると、 List2もクリアされてしまう。 実行結果 <filter object at 0x03E71730> list2:[100, 110, 120, 322, 130, 140] list2:[100, 110, 120, 130, 140] list3:[100, 110, 120, 130, 140] list3:[]←これは想定通り list2:[]←list2はクリアしたくない。なぜクリアしてしまうのか?
該当のソースコード
a = range(100,150,5) list(a) def is_even(x): return x % 2 == 0 filter = filter(is_even, a) print(filter) list2 = list(filter) list2.insert(3, 322) print('list2:' + str(list2)) list2.remove(322) print('list2:' + str(list2)) list3 = list2 print('list3:' + str(list3)) list3.clear() print('list3:' + str(list3)) print('list2:' + str(list2))
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
PYTHON WINDOWS10 IDLE 3.7.0
にて実行した結果です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/14 03:30