2016-03-24 12 views
-2

saymak: Bir liste (list1) içinde abc bütün değerlerini istediğinizlisteleri ayırmak ve bulmak için sözlüklerde listesinden değerlerini ekleyin/ben böyle sözlükleri içeren bir liste var ortak değerleri

[{"abc":"da123-tap","efg":"xyzf","acd":"123-brf"}, {"abc":"ab234-tap","efg":"yuvi","acd":"345-brf"}] 

ve tüm Başka bir listede efg değerleri (list2). sorusuna

Güncelleme:

Ben sözlükleri bu listeye almak için bir dosyayı okumak:

[{"Sample":"da123-tap","Name":"john","dof":"Date(304239600000)","Account":"Clinic1"}, 
{"Sample":"da456-tap-tap","Name":"smith","dof":"Date(304239600000)","Account":"Clinic2"}, 
{"Sample":"da678-tap-tap","Name":"jane","dof":"Date(304239600000)","Account":"Clinic1"}, 
{"Sample":"da987-tap-tap","Name":"doe","dof":"Date(304239600000)","Account":"Clinic2"}] 

Bul: list1

  • Değerleri Sample den

    1. Değerler gelen list2’da Accountzip() kullanmak yalnızca eğitim nedenlerle Clinic2
  • +2

    Tamam, şu ana kadar ne yaptın? –

    +2

    Bize anlattığınız için teşekkür ederiz. – redFIVE

    cevap

    0

    ait Sample arasında Clinic1

  • Sayım değerlerine ait Sample arasında
  • Sayım değerleri birden fazla liste halinde farklı anahtarların değerlerini doğrudan zarif bir yol olabilir ve açma işlemi:

    >>> l = [ 
    ...  {"abc":"da123-tap","efg":"xyzf","acd":"123-brf"}, 
    ...  {"abc":"ab234-tap","efg":"yuvi","acd":"345-brf"} 
    ... ] 
    >>> 
    >>> a, b = zip(*[(item["abc"], item["efg"]) for item in l]) 
    >>> print(a) 
    ('da123-tap', 'ab234-tap') 
    >>> print(b) 
    ('xyzf', 'yuvi') 
    
  • İlgili konular