2016-10-19 11 views
1

を辞書のリストを比較します私は辞書のリストの2つのリストを持っていると私はたとえば辞書</p> <p>の第2のリストに最初のリスト辞書の谷を比較したいロボットのフレームワークで

Dictionary A contains [{Name:C}, {Name:A}, {Name:B}] 
Dictionary B contains [{Name:A}, {Name:B}, {Name:C}] 

どのように

+0

あなたの質問を精緻化してコードを貼り付けることはできますか?あなたは2つの "dictsのリスト"または "dictsのリストのリスト"を持っていますか? –

答えて

0

辞書のリストの中に、'name': 'C'をマッピングする辞書が少なくとも1つ含まれているかどうかを確認したいのですが、A辞書の最初の辞書{名前:C}

any(d['name'] == 'C' for d in list_of_dict if 'name' in dict) 
+0

辞書の値の両方のリストを比較したいのですが、両方の辞書の値が同じであれば真を返します。私はロボットのフレームワークを試しています。あなたがRobotのフレームワークを手助けするなら、感謝します。 – louis

0

質問が正しく分かっている場合は、組み込みのコレクションライブラリを使用してこれを行うことができます。このコードは1つの辞書の値をとり、その値が他の辞書に存在するかどうかを調べるためにチェックされています。

*** Settings *** 
Library Collections 

*** Variables *** 
&{DICTONARY_ONE} = name1=a name2=b name3=c name4=d 
&{DICTONARY_TWO} = name1=c name2=a name3=d name4=b 

*** Test Cases *** 
Dictonary Test 
    @{dictonary2_list} = Get Dictionary Values ${DICTONARY_TWO} 
    :For ${item} in @{dictonary2_list} 
    \ Dictionary Should Contain Value ${DICTONARY_ONE} ${item} 

これはあなたの後ろのものではない場合は、あなたが必要なものを行うことができるコレクションに何かがあるはずです。ここにはドキュメンテーションへのリンクがあります。
http://robotframework.org/robotframework/latest/libraries/Collections.html

私は役立つことを望みます。

+0

辞書のリストがあればどうですか?私は辞書のリストで上記のテストケースを試したが、私は結果を見ることができませんでした – louis

0

辞書や文字列であれば、リストの一部であれば比較することができます。

*** Settings *** 
Library Collections 

*** Test Case *** 
Dictionary Validation 
    ${dict1}= Create Dictionary Name A 
    ${dict2}= Create Dictionary Name B 
    ${dict3}= Create Dictionary Name C  
    @{li}= Create List ${dict3} ${dict1} ${dict2} 
    @{lj}= Create List ${dict1} ${dict2} ${dict3} 

    :For ${item1} in @{li} 
     \ List Should Contain Value ${lj} ${item1} 

比較は辞書の一部であり(完全な辞書ではない)、別の方法を考える必要があります。助けてくれたら教えてください!

関連する問題