リストとタプルでNumpy配列にインデックスを付けると、異なる結果が得られますか?

テジャス

サンプルコード:

import numpy as np
a = np.zeros((5,5))
a[[0,1]] = 1     #(list of indices)
print('results with list based indexing\n', a)

a = np.zeros((5,5))
a[(0,1)] = 1   #(tuple of indices)
print('results with tuple based indexing\n',a)

結果:

results with list based indexing
 [[ 1.  1.  1.  1.  1.]
  [ 1.  1.  1.  1.  1.]
  [ 0.  0.  0.  0.  0.]
  [ 0.  0.  0.  0.  0.]
  [ 0.  0.  0.  0.  0.]]

results with tuple based indexing
[[  0.   1.   0.   0.   0.]
 [  0.   0.   0.   0.   0.]
 [  0.   0.   0.   0.   0.]
 [  0.   0.   0.   0.   0.]
 [  0.   0.   0.   0.   0.]]

お気づきのとおり、listを使用して配列にインデックスを付けると、同じインデックスのタプルを使用した場合とは異なる結果が得られました。numpyバージョン1.13.3でpython3を使用しています

リストとタプルを使用してnumpy配列にインデックスを付けることの基本的な違いは何ですか?

泳ぐ

意図的に。Numpyのgetitemおよびsetitem構文は、異なる機能をサポートするために異なるタイプが使用されるため、ダックタイプではありませんこれは単なる古いもの__setitem__です:

a[(0,1)] = 1

するのと同じa[0,1] = 1です。どちらの場合も、ndarrayのsetitemは、インデックスのタプル(0, 1)と値の2つの引数を受け取ります1

a[[0,1]] = 1

これは放送の特殊なケースです通常は記述されa[0:2] = 1ますが、たとえば、他の行をスライス/変更することもできますa[[0,1,3]]スカラー1は、割り当ての行0と1のすべての列に「引き伸ばされ」ます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

再帰呼び出し内で文字列にインデックスを付けると、異なる結果が得られるのはなぜですか?

分類Dev

配列を `printf`で結合すると、ターミナルとスクリプトで異なる結果が得られるのはなぜですか?

分類Dev

配列を `printf`で結合すると、ターミナルとスクリプトで異なる結果が得られるのはなぜですか?

分類Dev

どのようにTypeErrorを防ぐことができますか:Pythonリストをnumpy配列にコピーするとき、リストのインデックスはタプルではなく整数でなければなりませんか?

分類Dev

NumPyの高度なインデックス作成でリストのリストとnumpy配列の結果が異なるのはなぜですか?

分類Dev

ステップスルーすると、実行するだけで異なる結果が得られます

分類Dev

Rでlist [[n]]の代わりにlist [n]を使用してリストにインデックスを付けると、期待どおりの結果が得られないのはなぜですか?

分類Dev

np配列とpythonリストを並べ替えると異なる結果が得られます

分類Dev

異なるターミナルパスからWineアプリケーションを実行すると、異なる結果が得られますか?

分類Dev

同じスクリプト内でモデルを2回実行すると、Tensorflowで異なる結果が得られます

分類Dev

両方のウィンドウを実行している2つの異なるデスクトップでメモ帳でcsvファイルを開くと、異なる結果が得られます

分類Dev

リストを使用した場合とタプルを使用した場合で異なる結果が得られるのはなぜですか?

分類Dev

PSスクリプトを変数に格納すると、異なる結果が得られるのはなぜですか?

分類Dev

リストインデックスが範囲外です:tryを使用すると、異なる結果が得られます:コマンドラインパーサー

分類Dev

Numpy:JSONファイルからデータをロードすると、ネストされたリストを持つnp配列が得られます

分類Dev

iからj-1にインデックス付けされた要素のxorがjからkにインデックス付けされた要素のxorと等しくなるように、配列内のトリプレットi、j、kの数を見つけます。

分類Dev

値がループインデックスと等しい別の配列によってインデックス付けされた配列からの値を合計するnumpyループを最適化する方法

分類Dev

デイライト節約時間文字列をタイムスタンプに変換すると、間違った結果が得られます

分類Dev

エンティティコンストラクタでセッターまたはフィールドキーを使用すると、異なる結果が得られるのはなぜですか?

分類Dev

ゼロによる除算を整数プリミティブにキャストすると、異なる結果が得られるのはなぜですか?

分類Dev

コード名1でSideCommandをスタイリングすると、IOSとAndroidで異なる結果が得られます

分類Dev

asyncioを使用したコルーチンでリスト内包表記を使用すると、異なる結果が得られるのはなぜですか?

分類Dev

異なる基本クラスにキャストすると、異なる結果が得られます。C ++

分類Dev

Python 3では、バイト配列にインデックスを付けるとどうなりますか?

分類Dev

Pythonで異なるタプルをハッシュすると、同じ結果が得られます

分類Dev

クイックソートとバブルソートでは異なる結果が得られます

分類Dev

Rでベクトル/データフレームをサブセット化すると、異なる結果が得られます

分類Dev

forを使用して配列をループすると、異なる結果が得られます

分類Dev

forを使用して配列をループすると、異なる結果が得られます

Related 関連記事

  1. 1

    再帰呼び出し内で文字列にインデックスを付けると、異なる結果が得られるのはなぜですか?

  2. 2

    配列を `printf`で結合すると、ターミナルとスクリプトで異なる結果が得られるのはなぜですか?

  3. 3

    配列を `printf`で結合すると、ターミナルとスクリプトで異なる結果が得られるのはなぜですか?

  4. 4

    どのようにTypeErrorを防ぐことができますか:Pythonリストをnumpy配列にコピーするとき、リストのインデックスはタプルではなく整数でなければなりませんか?

  5. 5

    NumPyの高度なインデックス作成でリストのリストとnumpy配列の結果が異なるのはなぜですか?

  6. 6

    ステップスルーすると、実行するだけで異なる結果が得られます

  7. 7

    Rでlist [[n]]の代わりにlist [n]を使用してリストにインデックスを付けると、期待どおりの結果が得られないのはなぜですか?

  8. 8

    np配列とpythonリストを並べ替えると異なる結果が得られます

  9. 9

    異なるターミナルパスからWineアプリケーションを実行すると、異なる結果が得られますか?

  10. 10

    同じスクリプト内でモデルを2回実行すると、Tensorflowで異なる結果が得られます

  11. 11

    両方のウィンドウを実行している2つの異なるデスクトップでメモ帳でcsvファイルを開くと、異なる結果が得られます

  12. 12

    リストを使用した場合とタプルを使用した場合で異なる結果が得られるのはなぜですか?

  13. 13

    PSスクリプトを変数に格納すると、異なる結果が得られるのはなぜですか?

  14. 14

    リストインデックスが範囲外です:tryを使用すると、異なる結果が得られます:コマンドラインパーサー

  15. 15

    Numpy:JSONファイルからデータをロードすると、ネストされたリストを持つnp配列が得られます

  16. 16

    iからj-1にインデックス付けされた要素のxorがjからkにインデックス付けされた要素のxorと等しくなるように、配列内のトリプレットi、j、kの数を見つけます。

  17. 17

    値がループインデックスと等しい別の配列によってインデックス付けされた配列からの値を合計するnumpyループを最適化する方法

  18. 18

    デイライト節約時間文字列をタイムスタンプに変換すると、間違った結果が得られます

  19. 19

    エンティティコンストラクタでセッターまたはフィールドキーを使用すると、異なる結果が得られるのはなぜですか?

  20. 20

    ゼロによる除算を整数プリミティブにキャストすると、異なる結果が得られるのはなぜですか?

  21. 21

    コード名1でSideCommandをスタイリングすると、IOSとAndroidで異なる結果が得られます

  22. 22

    asyncioを使用したコルーチンでリスト内包表記を使用すると、異なる結果が得られるのはなぜですか?

  23. 23

    異なる基本クラスにキャストすると、異なる結果が得られます。C ++

  24. 24

    Python 3では、バイト配列にインデックスを付けるとどうなりますか?

  25. 25

    Pythonで異なるタプルをハッシュすると、同じ結果が得られます

  26. 26

    クイックソートとバブルソートでは異なる結果が得られます

  27. 27

    Rでベクトル/データフレームをサブセット化すると、異なる結果が得られます

  28. 28

    forを使用して配列をループすると、異なる結果が得られます

  29. 29

    forを使用して配列をループすると、異なる結果が得られます

ホットタグ

アーカイブ