1

リストb=['m','NN']と辞書があり、リストの要素がdict={'b':['NN','m','big']}含まれている場合は、関数を使用してキー'b'を取得するとします (たとえば、を使用します。の要素が順序付けられていない場合は、どうすればよいですか。の要素として、bリストの順序を変更できないと仮定しますか?ありがとうございます!bdict[b][k for k,v in dict.items()]bdict[b]

4

2 に答える 2

4

あなたが何を求めているのかはわかりませんが、あなたが求めているのが、リストのdスーパーセットである値を持つ辞書内のキーのリストbである場合は、次のようなものを使用できます。

b=['m','NN']
d={'b':['NN','m','big'], 'a':['jj','r']}
[k for k,v in d.items() if set(b) <= set(v)]

dict(組み込みクラスのように、サンプル辞書の名前を変更しました。)

于 2012-11-14T20:32:59.790 に答える
2

できるよ:

 [k for k, v in dict.items() if all((x in v) for x in b)]

例えば:

>>> b=['m','NN']
>>> dict={'b':['NN','m','big'], 'a':['NN', 'q']}
>>> [k for k, v in dict.items() if all((x in v) for x in b)]
['b']

(はデータ型の名前であるdictため、辞書に名前を付けることはお勧めできません)。dict

于 2012-11-14T20:30:23.273 に答える