問題タブ [slice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ヒープ上に新しい配列を作成せずに、Javaで配列のセグメントを取得します
配列のセグメントを返すJavaのメソッドを探しています。例として、バイト配列の4番目と5番目のバイトを含むバイト配列を取得します。そのためだけに、ヒープメモリに新しいバイト配列を作成する必要はありません。現在、次のコードがあります。
doSomething(bigArray.getSubArray(4, 2))
たとえば、4がオフセットで、2が長さである場合に実行する方法があるかどうかを知りたいです。
python - Python でのスライス操作のインターセプト
要素がスライスによって追加または削除されるたびに、リストを「保存」したいことを除いて、通常の python リストを模倣したい。これは可能ですか?これは私の試みでしたが、「保存」は決して出力されません。
append
これは、や などの他のメソッドでは機能しextend
ますが、スライス操作では機能しません。
EDIT:本当の問題は、私がPythonではなくJythonを使用していて、それを忘れていたことです。質問に対するコメントは正しいです。このコードは Python (2.6) で正常に動作します。ただし、コードも回答も Jython で機能します。
c# - .NET の「ByteBuffer.flip」と「ByteBuffer.slice」に相当するものは何ですか?
コードを Java から C# に移植する必要があります。Javaコードでは「ByteBuffer.flip()」と「ByteBuffer.slice」というメソッドが使われているのですが、これをどう訳せばいいのかわかりません。
私はこの質問を読みました( c# の javax.nio.Buffer.flip() に相当します)が、答えは示されていますが、それを適用する方法がわかりません。Tom Hawtin によると、基になる配列で「制限を現在の位置に設定してから、位置をゼロに設定する」必要があります。これらの値を変更する方法がわかりません。(根底にあるロジックを説明できれば、とても助かります:)
ByteBuffer.slice については、翻訳方法がわかりません。
編集:実際のコードでより明確にできる場合は、投稿します:
ジャワ:
これまでのところ、C#.NET での私の翻訳:
ありがとうございました!
編集: Java ドキュメントに基づいて に変更b.BaseStream.SetLength(b.BaseStream.Length);
されました。b.BaseStream.SetLength(b.BaseStream.Position);
python - リスト スライスの繰り返し
リストのスライスを反復処理するアルゴリズムが必要です。スライスのサイズは関数の外で設定され、異なる場合があります。
私の考えでは、それは次のようなものです:
Python 2.5を使用してこれを適切に定義する方法list_of_x_items
または他の方法はありますか?
edit1: 明確化「パーティショニング」と「スライディング ウィンドウ」の両方の用語が私のタスクに当てはまるように聞こえますが、私は専門家ではありません。したがって、問題をもう少し詳しく説明し、質問に追加します。
FatherList は、ファイルから取得しているマルチレベルの numpy.array です。関数はシリーズの平均を見つける必要があります(ユーザーはシリーズの長さを提供します)平均化のために私はmean()
関数を使用しています。質問の展開について:
edit2:追加のアイテムを保存し、次のfatherListが関数に供給されたときにそれらを使用するために提供した関数を変更する方法は?
たとえば、リストの長さが 10 で、チャンクのサイズが 3 の場合、リストの 10 番目のメンバーが格納され、次のリストの先頭に追加されます。
関連している:
arrays - Bash で配列をスライスする方法
bash(1) のマニュアル ページの「配列」セクションを調べたところ、配列をスライスする方法が見つかりませんでした。
だから私はこの非常に複雑な関数を思いつきました:
次のように使用します。
これを行うより良い方法はありますか?
arrays - 1標準偏差外のデータを除外するMATLAB
私はMATLABに不慣れなので、初心者の質問で申し訳ありません:
大量のデータを格納する大きなベクトル (905350 要素) があります。私は標準偏差と平均値を持っています。今、平均値から 1 つの標準偏差の上/下にあるすべてのデータ ポイントを切り取りたいと考えています。方法がわかりません。私が収集したものから、ある種の二重ループを作成する必要がありますか?
それは次のようなものです: mean-std < 欲しいデータ < mean + std
c# - C#でグラフィック円グラフを作成する
7つの等しくないスライス(25%、20%、18%、17%、10%、10%、10%)の円グラフを表示するWindowsアプリケーションを作成しようとしていますが、すべての色が異なります。
これまで、色を付けて円を描いたペンやブラシを作りました。
これは私が今まで持っているものです
あなたへの私の質問はです。パイのくさびを描く最も簡単な方法は何でしょうか?
html - CSSの背景位置の正しい距離
私はCMSに取り組んでおり、特別な編集用に別のボタンが必要です。次のような小さなexamplefileを作成しました。
私は次のようなpng背景画像を持っています 右隅が異なる背景画像http://img10.imageshack.us/img10/1849/hor.png 結果は次のようになります: result http://img21.imageshack.us/ img21 / 774 / resultr.png 目標は異なる右隅を取得することですが、負の距離を設定しようとしても機能しません。誰かが私に説明をすることができますか?そして、もっと興味深いことに、誰かがクラスcurの間違いを修正する回避策を教えてくれますか?
python - Python/numpyトリッキーなスライスの問題
私はいくつかの厄介なものに問題があります。コピーではなく、スライスしたデータのビューとしてスライスを返すことで、異常な動作をするためにnumpy配列が必要です。だからここに私がやりたいことの例があります:
次のような単純な配列があるとします。
次のような構文を使用して、配列内の連続するエントリを(左から右に移動して)配列からの前のエントリで更新したいと思います。
これにより、次の結果が得られます。
またはこのようなもの:
さらに説明するために、次のような動作が必要です。
numpyのスピードが欲しい以外は。
numpyのデフォルトの動作はスライスのコピーを取得することなので、実際に取得するのは次のとおりです。
私はすでにこの配列をndarrayのサブクラスとして持っているので、必要に応じてさらに変更を加えることができます。左側のスライスを更新するときに、右側のスライスを継続的に更新する必要があります。
私は夢を見ていますか、それともこの魔法は可能ですか?
更新:これはすべて、ガウス・ザイデル反復を使用して線形代数の問題を多かれ少なかれ解決しようとしているためです。これは調和関数を含む特殊なケースです。これは本当に必要ではなく、さらに混乱する可能性があるため、これに入るのを避けようとしましたが、ここで説明します。
アルゴリズムは次のとおりです。
右?ただし、これは2つの方法で実行できます。Jacobiでは、whileループが循環するまでに既に行った更新を考慮せずに、各要素を隣接する要素で更新します。ループで実行するには、配列をコピーしてから、コピーした配列から1つの配列を更新します。ただし、Gauss-Seidelは、i-1およびj-1エントリごとに更新済みの情報を使用するため、コピーは必要ありません。単一要素の更新ごとに配列が再評価されるため、ループは基本的に「認識」する必要があります。 。つまり、u [i-1、j]やu [i、j-1]のようなエントリを呼び出すたびに、前のループで計算された情報がそこにあります。
この遅くて醜いネストされたループの状況を、numpyslicingを使用した1行のきれいなコードに置き換えたいと思います。
ただし、結果はJacobiの反復になります。これは、スライスを取得するときに:u [:、-2,1:-1]データをコピーするため、スライスは行われた更新を認識しないためです。今でもnumpyはループしますよね?並列ではなく、Pythonでの並列操作のように見えるループへのより高速な方法です。スライスを取得するときに、コピーではなくポインタを返すようにnumpyをハッキングすることで、この動作を利用したいと思います。右?その後、numpyがループするたびに、そのスライスは「更新」されるか、実際には更新で発生したものを複製します。これを行うには、配列の両側にあるスライスをポインターにする必要があります。
とにかく、本当に賢い人がそこにいるなら、それは素晴らしいですが、私はほとんど自分自身を辞任して、唯一の答えはCでループすることだと信じています。