問題タブ [list-comparison]
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.
c# - C# で 2 つの順序付きリストを比較する
問題は、文字列のリストが 2 つあることです。一方のリストは他方のリストの概算であり、概算の精度を測定する何らかの方法が必要です。
近似を採点するその場しのぎの方法として、文字列に対応する数値に基づいてソートした後、各リスト (近似と答え) を 3 つのパーティション (高、中、低) にバケット化しました。次に、近似のすべての要素を比較して、正しいリストの同じパーティションに文字列が存在するかどうかを確認します。
正しく分類された文字列の数を合計し、文字列の総数で割ります。これが見積もりの精度を測定する非常に大まかな方法であることは理解しており、より良い代替手段が利用可能であることを望んでいました. これは、より大きな作業のごく一部に過ぎず、一からやり直す必要がないようにしたいと考えていました。
編集:私は十分に明確ではなかったと思います。2 つのリストが完全に等しい必要はありません。リストが類似していることを示す何らかの尺度が必要です。たとえば、私たちが採用した高-中-低 (HML) アプローチは、推定されたリストが十分に類似していることを示しています。このアプローチの欠点は、推定リストの項目が「高」ブラケットの下部にあり、実際のリストではその項目が中間セットの上部にある場合、スコア アルゴリズムが配信に失敗することです。
HML アプローチに加えて、各パーティションの下位 20% が次のパーティションの上位 20% と比較されるか、これらの線に沿ったものである可能性があります。
助けてくれてありがとう!!
f# - 2 つのリストを比較して、それぞれに固有のアイテムを見つける
私は 2 つのコレクションを持っています (それらはたまたま配列ですが、実際には問題ではないと思います):L
とR
. どちらもソートされているので、比較したいと思います。最終的に 2 つのコレクションを作成したいと考えています。1 つは入力配列ごとに 1 つは、もう一方にはなかった項目を含む配列です。
から最初のアイテムを取得してL
検索R
し、一致するものがない場合は、それを「一意の」コレクションに追加することができます ( Lu
)。しかし、それは非常に非効率的であり、近い将来、非常に大きなコレクションを処理する必要があると予想しています。
私はおそらく「石けり遊び」について考えました:
ステップ 1: 2 つのリスト と を取り
L
、各リストの先頭 (と)R
を比較します。l :: L
r :: R
分岐 1:
l
<の場合r
、 に追加l
して再帰し、とLu
を渡すL
r :: R
分岐 2:
l
>の場合r
、 に追加r
して再帰し、とRu
を渡すl :: L
R
分岐 3:
l
=r
の場合、再帰的に渡してL
、R
Lu
ステップ2: 戻るRu
私はこの関数を書くことができますが、努力する前に、これを行うことができる関数が既に存在するかどうか疑問に思っていました. これは珍しくないシナリオのように思えます。私は常に、既存のソリューションを使用して独自のソリューションを展開したいと考えています。
(また、このアルゴリズムにもっとわかりやすい名前があれば、それが何と呼ばれているのか知りたいです。)
python - 文字列値をリストとして保存されている辞書値と一致させる方法は?
辞書があるとします
そして、私は文字列を持っています
他の文字列が動的に更新され、文字列のみが検索方法であるため、上記の文字列値と dict 値のみを一致させたいと思います。以下のコードを試しましたが、無駄でした
python - サイズの異なるリストの 2 つのリストを照合し、差を返す
私は2つのリストを持っています:
ここで、これら 2 つのリストを比較し、一致しない部分を l2 から新しいリストにフェッチしたいと考えています。つまり、l1[1] とフィールド l2[1] を一致させ、一致しないリストを返す必要があります。一致とは、l1 のサブリストの 2 番目の位置にある要素が、l2 のサブリストの同じ位置と比較された場合、それを無視し、一致しないものはすべて返さなければならないことを意味します。実際には、比較要素を取得するために両方のリストを反復処理する必要があります。たとえば、l1 の 3,2 と比較すると、2 番目の位置要素 1 のサブリストが返されます。これが私のアプローチです。
しかし、一致した部分も返ってきます。何が問題なのですか?
python - 2 つのリストを比較し、共通要素が出現する回数を出力する
と比較items1
して、に現れるitems2
最も一般的な数字を出力したいと思います。items2
items1
の数値items1
は固定され、 の数値items2
は更新されます。また、各数字が出現する回数を数えたいと思います。これは私がこれまでに思いついたものです:
c# - 2 つのリストを比較して、そのうちの 1 つで追加または削除された要素を見つける
TL;DR バージョン:
正確に 1 つの要素 (追加要素または欠落要素のいずれか) によって異なる 2 つのリストを列挙し、他のすべての要素と一致させながら、どの要素が変更されたかを伝える方法はありますか?
私のクラスには、コンストラクターを介して注入さList<View>
れたものから作成されたプロパティがあります。List<Model>
それぞれがそれぞれをパブリック プロパティとしてView
ラップします。Model
同じスコープ内に、次の条件でvoid Update(List<Model> newList)
別のリストを受け取るルーチンがあります:前と同じで、正または負の要素が 1 つだけあります。これは、アイテムが他の場所でデータ バインドされたリストに追加または削除されるたびに が呼び出され、アプリケーションには一度に 1 つの要素を追加/削除するオプションしかないためです。Model
List<Model>
Update
Update
古いリストのモデル (ビューにラップされている) を単に新しいリストに置き換えるのではなく、操作の動機は、View
クラスが状態を保存することです。とにかくモデル。
問題は次のとおりです。新しいモデルがある場合は新しいビューを追加する必要があり、それぞれのモデルが存在しない場合はそれぞれのビューを削除する必要があり、追加された要素を除いて、既存のビューを既存のモデルと一致させる必要があります。削除されました。私はそれを行う方法がわかりません。
そのため、リストの最初の要素のモデルを新しいリストの最初の要素と比較し、それらが一致する場合は 2 番目の要素に移動することを考えていました。ある時点でそれらは異なりますが、これは要素の追加が原因である可能性があり (その後、残りは 1 つのインデックスにシフトされます)、または 1 つの要素の削除が原因である可能性があります (この場合、残りは下にシフトされ、別の要素は、実際にはリスト内の既存の要素になります)。
最初の異なる要素が追加または削除によるものかどうかを判断する賢明な方法はありますか?
sql - リストのどこを選択するか、最もエレガントにすべてを選択します
select ステートメントの場合、次のように、where 条件の一部を外部の構成ファイルでパラメーターとして設定します (COL2
は文字列値で埋められます)。
ここで、外部パラメーターをリストにする必要がある、より複雑なケースがあります。の値がCOL2
リストにある場合は常に選択する必要がありますが、リストが提供されていない場合や何らかの「空の」タグがある場合は、すべての値を再度選択する必要があります。私はアイデアを思いつきましたが、そのようには機能しません:
このように、ステートメントはCOL2
、空のリストが提供された場合のすべての要素に対して true になり、塗りつぶされたリストが提供された場合、リストと一致するリスト内のすべての要素に対して true になります。
ただし、塗りつぶされたリストを提供すると、where ステートメントの前半の比較では機能しません。
それを機能させるクエリはありますか-1行のWHEREステートメントで最適ですか?