2017-02-03 5 views
-1

あるディクショナリの情報を他のディクショナリの関連する名前を調べるにはどうすればいいですか?たとえば、作成する1つの辞書には、システム内のすべてのユーザーの名前、電子メールアドレス、およびIDが含まれています。他の辞書にはidだけが入っています。Pythonは2つの辞書を作成し、キーと一致する値をプリントします

私はトランスクリプトからIDを取得し、どのユーザーがトランスクリプトを書きましたかを見たいと思います。 idは数字の文字列です

ここにありますが、すべて私が入力したtranscript_id番号に関係なく同じユーザー名を返します。 dictの(if key in user)でのプレゼンスの確認

transcript = transcript.find(id=transcript_id) 

for admin in category.all(): 
    user = {'name': admin.name, 'id': admin.id, 'email': admin.email } 

for part in transcript.transcript_parts: 
    transcript_author = { 'id': part.author.id } 

for key in transcript_author: 
     if key in user: 
      print(user['name']) 

答えて

0

だけあなたが望むものではありません辞書のキーを検索します。特に'id'キーの値を比較したいとします。

>>> user = {'name': 'chrism1148', 'id': '12345', 'email': None} 
>>> '12345' in user 
False # fails as '12345' is not one of the keys 
>>> 'id' in user 
True # succeeds as 'id' is a key 
>>> '12345' == user['id'] 
True # this works, but will throw an exception if 'id' is not in the dict for some reason 
>>> '12345' == user.get('id', None) 
True # it's a good idea to use this instead (None is used as a default value for when 'id' is not present in the dict) 

はこの考えてみましょう

関連する問題