사전 목록에서 튜플 목록 추출, 일부 값은 쉼표와 작은 따옴표로 구분되고 일부는 제외

1990 단어
사전 목록이 있으며 각 사전에는 다음이 포함됩니다.

이름
중간 이름

제목
주소
이메일 주소
로열티 프로그램 한 고객을 위한 것입니다. 이 정보 중 일부가 누락되었을 수 있습니다.
segment = [{'first-name': 'Elsa', 'last-name': 'Frost', 'title': 'Princess', 'address': '33 Castle Street, London', '충성 프로그램': '골드'}, {'이름': '안나', '성': '프로스트', '칭호': '프린세스', '충성 프로그램': '플래티넘'}, {'이름 ': '해리', '중간 이름': '해롤드', '성': '헤어', '제목': '씨', '이메일 주소': ' [email protected] ', '충성 프로그램': '실버'}]
물리적 주소가 있는 클라이언트의 경우 튜플 목록을 추출해야 합니다. 각 튜플은 하나의 클라이언트를 나타내며 정의된 경우 해당 순서대로 제목, 이름, 중간 이름 및 성 및 우편 주소를 포함합니다.

내 코드가 작동하는 것 같습니다.

그러나 각 튜플 내에서 클라이언트 이름의 개별 부분이 아니라 전체를 작은따옴표로 묶어야 합니다. 또한 주소를 따옴표로 묶어야 합니다. 쉼표로 주소와 전체 이름을 구분해야 합니다.

('프린세스 엘사 프로스트', '33 Castle Street, London')
내 코드는 올바른 정보를 반환하지만 환자 이름의 요소는 쉼표와 작은따옴표로 구분됩니다.

def process_clients(세그먼트):

#Creating a list to contain tuples with client full name and mailing address. 
updated = []
#Interacting through each dictionary, which represents each client
for dic in segment:
    newclient=[]
#Adding clients with a mailing address
    try:
        add = dic["address"]
    except:
        continue
#Adding, in order, the "title", "first-name", "middle-name", "last-name" and "address" of each client
    for data in ["title", "first-name", "middle-name", "last-name", "address"]:
        try:
            value = dic[data]
            newclient.append(value)
#If "title", "first-name", "middle-name" or "last-name" is not present in a clients data, no action is taken
        except:
            pass
#Additing the tuples with extracted client data to the created list        
    updated.append(tuple(newclient))
return updated

process_clients(세그먼트)

[('프린세스','엘사','프로스트', '33 Castle Street, London')]

좋은 웹페이지 즐겨찾기