以下は、Python の多次元スライスにおけるコロンと 3 つのドットの使用法を紹介するもので、参考になると思います。一緒に見てみましょう
私は Python と numpy を初めて使用しますが、多次元スライスを学習する過程で遭遇する問題をまとめます。
比較的単純な 1 次元のスライスについては説明しません。まず 2 次元のスライスと多次元のスライスについて説明します。例えば、まず5x5の2次元配列を作成します
各次元に応じて多次元スライスが取られます
ここでは、1次元目は2~3個、2次元目は3~5個が出力されますそれぞれ (インデックスは 0 から始まります)。
ここにすべての行と 3 ~ 5 列目があります。
これは誰にとっても最も混乱する部分です。なぜ列パラメーターが None に変更され、出力形状が変更されるのでしょうか? ここで、None には、Everyone というエイリアスがあることを知っておく必要があります。 numpy.newaxis を出力するとわかりますが、このニックネームは名前が示すとおりである必要があります。では、なぜ 5x5x1 ではなく 5x1x5 なのでしょうか? それは、2 次元で None を使用したためです。信じられない場合は、見てください
。誰もが理解するはずです。つまり、None がどの次元に配置されると、その次元に新しい次元が出現します。
さらに奇妙なものを見てみましょう
3 つのドットは一体何ですか? 記憶によれば、これは改行操作ではないでしょうか? しかし、ここではすべてのコロンが省略され、それらが次のように置き換えられます。この a[ :, :, None] と a[…, None] を見ると、… が最初の 2 つのコロンを置き換えているため、同じ出力になります。もう明らかになるはずです。
三次元以上に関しては二次元と全く同じです。
以上がPython多次元スライスコロンと3つの点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。