Суть проблемы: у меня есть большой список доменов.
Пример:
list_url = [{'id': '7a8809acc2b249b7a868a49b89793cc9',
'url': 'https://mysite.com/utm_source=facebook&utm_medium=cpc'},
{'id': '7a8809acc2b249b7a868a49b89793cc4',
'url': 'https://mysite.com/contacts'}]
Я перебираю каждый из них и записываю в отдельный словарь id, url, source, medium если прописаны UTM-метки, делаю я это, через регулярные выражения.
'url': list_url['url'],
'source' : re.findall('(?<=utm_source=).*(?=&utm_medium)',list_url['url']),
'medium' : re.findall('(?<=utm_medium=).*(?=&utm_campaign)',list_url['url'])
Если использовать метод findall в source, medium записывается список, чтобы достать значение из него я могу обратиться к нулевому элементу, но в этом случае отбрасываются все случаи, где нет значений source, medium.
Как можно прописать условие замены пустых значений списка на None.
В общем по итогу, я должен получить следующее:
[{'id': '7a8809acc2b249b7a868a49b89793cc9',
'url': 'https://mysite.com/utm_source=facebook&utm_medium=cpc',
'source': 'facebook',
'medium' : 'cpc'},
'{id': '7a8809acc2b249b7a868a49b89793cc4',
'url': 'https://mysite.com/contacts',
'source' : None
'medium' : None}]