반면 파이썬 사전으로의 루프 같은 키와 값을 추가

Vikman :

나는 파이썬 초보자와 나는 작은 프로젝트를 진행하고 있지만 출력은 원받을 수 없습니다.

이것은 내가 난 단지 이메일의 유지 및 중복 값없이 프로젝트와 연결해야해야하는 항목의 값입니다. 이 내 항목 :

my_dictionnary = [
    {
        "email": ["email1", "email2"],
        "project":"projet1",
        "project_name":"Project1"
    },
    {
        "email": ["email1", "email2"],
        "project":"projet2",
        "project_name":"Project2"

    },
    {
        "email": ["email2"],
        "project":"projet3",
        "project_name":"Project3"

    }
]

다음과 같이 나는 OUPUT를 만들 싶습니다 :

my_dictionnary_parsed = {
    "email2": ["projet1", "projet2", "projet3"],
    "email1": ["projet1", "projet2"]
}

나는 다음과 같은 기능을 가지고 :

def formating_email(list_of_email):
    dictionnary={}
        for email_data in list_of_email_data:
            for cp in email_data['cp_related']:
                print(cp,email_data['ticket_related_project'])
                dictionnary[cp] = email_data

그러나 값은 무시 유지 ...

Prakhar Londhe :

현재 하나가 올바르지 않기 때문에, 직접 설정하는, 당신이 올바른 사전 구조를 가지고 가정 dictionnary[cp] = email_data. 이 목록이기 때문에 대신 추가해야합니다.

또한, 귀하의 변수 이름을하지 않습니다 dictionnary. 그들에게 어떤 유효한 이름을 부여 자신의 기능에 해당하는 등 그 projects_per_email또는 다른 것.

def formating_email(list_of_email):
    dictionnary={}
        for email_data in list_of_email_data:
            for cp in email_data['cp_related']:
                print(cp,email_data['ticket_related_project'])
                if dictionnary.get(cp) == None:
                    dictionnary[cp] = [email_data]
                else:
                    dictionnary[cp].append(email_data)

추천

출처http://43.154.161.224:23101/article/api/json?id=19654&siteId=1