Найти - Пользователи
Полная версия: списки и словари Помогите пожалуйста(
Начало » Python для новичков » списки и словари Помогите пожалуйста(
1
Murad
Нужно решить такую задачу:
есть список:
 lst = ["site.com","link1","link2","link3","link4","link5","link6","link7"]
еще есть список значением которого являеться словарь
 data = [{"id":0,"url":"site.com"},
            {"id":1,"url":"link1"}]

нужно написать функцию которая берет значение из lst и проверяет есть ли он в массиве data(т.е в значении url),если есть то пропускаем, а если нет то добавляем значение lst в массив data с новым ключом
Я много раз пробовал не получаеться((. Помогите пожалуйста
Stright
 lst = ["site.com","link1","link2","link3","link4","link5","link6","link7"]
data = [{"id": 0, "url": "site.com"}, {"id": 1, "url": "link1"}]
def add_urls(urls, data):
    urls_dict = {}
    max_id = 0
    for item in data:
        id = item['id']
        urls_dict[item['url']] = id
        if id > max_id:
            max_id = id
    for url in urls:
        if url not in urls_dict:
            urls_dict[url] = max_id + 1
            max_id += 1
    return [{'id': id, 'url': url} for url, id in urls_dict.items()]
print(add_urls(lst, data))
Murad
Stright
Огромное спасибо Вам Очень благодарен
Murad
Stright
можно еще кое что спросить?
вот есть список
 lst = ["site.com","link5","link2","link4","link3","link1"]
и еще есть список элементы которые являются словарь
 data = [{"id": 0, "url": "site.com"}, {"id": 1, "url": "link1"}, {"id": 2, "url": "link2"}, {"id": 3, "url": "link3"}, {"id": 4, "url": "link4"}, {"id": 5, "url": "link5"}, {"id": 6, "url": "link6"}, {"id": 7, "url": "link7"}]
нужно заполнить еще один массив list как lst, но только чтобы он взял элемент из data
например
 list = [ [{"id": 0, "url": "site.com"}, {"id": 1, "url": "link1"}, {"id": 2, "url": "link2"}, {"id": 3, "url": "link3"}, {"id": 4, "url": "link4"}, {"id": 5, "url": "link5"}]
Значение в списке lst всегда есть внутри массива data, просто надо привязять id к элементу lst из массива data.
Просто надо присвоить id из массива data
Stright
Не совсем понятно, что вы хотите сделать, у вас список list - копия списка data. Кстати, нельзя так называть переменные, потому что list - это название встроенного типа. Напишите, какие исходные данные и что должно получиться.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB