[解決済み] リストスライスの割り当てはどのように行われるのですか?
2022-05-16 06:46:51
質問
Pythonのドキュメントによると、リストをスライスすると新しいリストが返されるそうです。
さて、もし "new" のリストが返されるなら、私は "Assignment to slices" に関連する以下のような疑問を持っています。
a = [1, 2, 3]
a[0:2] = [4, 5]
print a
これで、出力は次のようになります。
[4, 5, 3]
- 何かを返すものが、どうして式の左側に来るのでしょうか?
- はい、私はドキュメントを読み、それは可能であると書いてあります、今リストをスライスすると "新しい" リストを返すので、なぜ元のリストが変更されるのですか?私はその背後にあるメカニックを理解することができません。
どのように解決するのですか?
非常によく似た構文を使用する、2つの異なる操作を混同しています。
1) スライシング。
b = a[0:2]
のスライスのコピーを作成します。
a
に割り当て、それを
b
.
2)スライス割り当て。
a[0:2] = b
これは
を置き換える
のスライスを
a
の内容で
b
.
構文は似ていますが (意図的なものでしょう!) 、これらは 2 つの異なる操作です。
関連
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] python: 2階層上のディレクトリを取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] Matplotlibのレジェンドが動作しない
-
[解決済み] タプルの代わりにリストで出力するZip
-
[解決済み] asyncio.ensure_future vs. BaseEventLoop.create_task vs. simple coroutine?
-
[解決済み] Pythonで文字列が数字で始まるかどうかを判断するには?
-
[解決済み] Seleniumから要素の属性を取得するには?
-
[解決済み] イテラブルを一定サイズのチャンクに分割する方法
-
[解決済み] sqlalchemy の declarative ORM 拡張機能で複数カラムのインデックスを使用する場合
-
[解決済み] Pandasがラベルで選択すると、Seriesを返す場合とDataFrameを返す場合があります。
-
[解決済み] 関数が受け取るキーワード引数をリストアップできますか?