0

キーが n 要素のタプルである辞書があります。n-1 個の要素が一致するタプルだけを見つけたいとします。もう 1 つの要素は任意の値にすることができます。たとえば、最初の 6 番目の要素を 100 に設定し、7 番目の要素は何でもかまいません。これらのタプルをキーとして持っています。

 1. (100,100,100,100,100,45,54)
 2. (100,100,100,100,100,100,54)
 3. (100,100,100,100,100,100,54)
 4. (100,100,100,100,100,100,54)
 5. (100,100,100,100,100,23,54)

次に、キー 2 ~ 4 のみが必要です。1 番目と 5 番目は 6 番目の要素で 100 とは異なる値を保持するためです。もちろん、すべてのキーを調べて各要素を個別に比較することもできますが、もっと良い方法があるのではないかと考えています。Pythonでそれを行う方法についてのアイデアはありますか?

ありがとう

4

2 に答える 2

0

このようなものが機能するはずです:

matched = [x for x in dict.keys if len(set(x[:6])) == 1]
于 2012-09-09T07:42:49.367 に答える
0

リスト内包表記を行うことができます:

matched = [x for x in tuples if x[:6] == (100,100,100,100,100,100)]
于 2012-09-09T07:37:46.197 に答える