2017-05-18 28 views
0
planta_accesibles = probpl.RelacionRigida(
     lambda a1, p1, p2: (a1,(p1,p2)) 
       in [('A0', ('0', '1', '2', '3', '4'))] 
     ) 

私のリスト 'A0'にp1とp2が含まれているが、pythonではタプル "p1、p2"とタプル '0,1'を比較したいと考えています。私が「2」、「3」、「4」を保持している場合、私は正しい応答をしません。タプルとリストの比較

私の英語のために残念です。

+2

ようこそ[、最小完全、かつ検証例を作成する方法](のhttp:// stackoverflowの.com/help/mcve)と答えを得る機会を改善するために[どのように私は良い質問をしますか](http://stackoverflow.com/help/how-to-ask) – Nuageux

+1

関数は何ですか: 'probpl.RelaciónRígida()'?引数としてラムダ関数を渡したようです。このラムダ関数の入力と出力の例を挙げることができますか? – Aaron

+0

この機能についてはすでに議論しているので、コード内で高ASCII文字を使用しないでください。彼らのサポートは最近一般的ですが、それにもかかわらず、これらのことに頼らざるをえないようにすることは良い習慣です(さらに、多くの言語で許可されていません)。 –

答えて

1

私はそれが何を必要としているかわからないので、私はあなたがラムダ機能を使って何をしようとしているのか分からないと思います。 )。

'A0'という名前のリストがあり、p1p2が含まれているかどうかを確認したいようです。この場合、私は、辞書は、ネストされたタプルより良いあなたのニーズに合うと考えている:

ref = {"A0": ("0", "1", "2", "3", "4")} 

これは、あなたはそれがキーa1に関連付けられた値(あなたのタプル)を含んでいるかどうかを判断するために辞書をテストすることができます:

a1 in ref 

辞書を決定することa1のエントリが含まれているしたら、そのエントリが含まれているかどうかをテストすることができますp1p2

(p1 in ref[a1]) and (p2 in ref[a1]) #parenthesis are only added for readability 

私はあなたの既存の例にこれを追加した場合、それは次のようになります:SO、チェックしてくださいする

ref = {"A0": ("0", "1", "2", "3", "4")} 
test = lambda a1, p1,p2: (a1 in ref) and (p1 in ref[a1]) and (p2 in ref[a1]) 
planta_accesibles = probpl.RelaciónRígida(test) 
関連する問題