2016-07-26 2 views
0

заблаговременно за помощь.Как создать новый список из двух других списков, применить функцию и добавить вывод в каждый список?

Мне нужно получить некоторые данные (клиенты и продукты) из WebService. Этот код получает данные и преобразует их в списки со словарями внутри них.

consumidores = requests.get(url + 'all_consumers', headers=custom_header) # lista 
    con = consumidores.json() 
    productos = requests.get(url + 'all_products', headers=custom_header) # lista 
    prod = productos.json() 

    c = [] 

    for key in con: 
     c = [key['genero'], key['complexion'], key['tallaCamisa'], key['tallaPantalon'], key['edad'], key['ubicacion'], 
     key['valorComercial'], key['valorCompra']] 

    p = [] 
    for index in prod: 
     p = [index['genero'], index['precio']] 

Что мне нужно сделать, это создать два списка, один для клиентов и один для продуктов. Выберите несколько конкретных элементов для каждого костюмчике и продукта и создать новый список, должны выглядеть следующим образом

new_list = [[costumer_1, costumer_element1, costumer_element2 , ... , product_1, product_element1, product_element2, ...], [costumer_1, costumer_element1, ..., product_1, product_element1, ...], [costumer_2, costumer_elementn, ... product_1, product_element1 ,...] , ...] 

Затем примените функцию, которая будет относиться костюмеры с продуктами и добавить результат в список, который сделал такой вывод:

results = [[costumer_1, costumer_element1, costumer_element2 , ... , product_1, product_element1, product_element2, RESULT], etc] 

    for key in con: 
    index=0 
    param_relcp = c[index][key['genero'],key['edad']] 
    index=index + 1 

Это возвращает ошибку: индекс списка из диапазона и с помощью этого

c = [] 
for key in con: 
    c = [key['genero'], key['complexion'], key['tallaCamisa'], key['tallaPantalon'], key['edad'], key['ubicacion'], 
     key['valorComercial'], key['valorCompra'], key['id']] 

только принимает элементы только из первого: IndexError один из списков. Любая помощь будет оценена.

+2

Пожалуйста, прочтите [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). Удалите весь ненужный код в начале и укажите примеры входных и выходных списков. –

+0

Я сделал, я не знаю, что вы имеете в виду – marco

+0

Я не понял, вам удалось получить данные из Интернета? Как это выглядит? Вам удастся создать списки продуктов и клиентов? Как они выглядят? Проблема в первом, третьем или четвертом блоке кода? –

ответ

0

Ваши петли все, кажется, ничего не делают, например.

for key in con: 
    c = [key['genero'], key['complexion'], key['tallaCamisa'], key['tallaPantalon'], key['edad'], key['ubicacion'], 
     key['valorComercial'], key['valorCompra']] 

заменяет c каждый раз, и вы получите только последнее значение в последний раз через петлю. Вы делаете то же самое для p и то же самое для param_relcp.

Либо:

c = [] 
for key in con: 
    c.append([key['genero'], key['complexion'], key['tallaCamisa'], key['tallaPantalon'], key['edad'], key['ubicacion'], 
      key['valorComercial'], key['valorCompra']]) 

или

c = [[key['genero'], key['complexion'], key['tallaCamisa'], key['tallaPantalon'], key['edad'], key['ubicacion'], 
      key['valorComercial'], key['valorCompra'] for key in con] 

и то же самое для других.

+0

Это сработало чудеса. Это создает два списка списков, один из потребителей и один для продуктов.Как я могу добавить все списки продуктов к первому клиенту, все списки продуктов ко второму клиенту и так далее. Сделать списки списков, составленные из списка потребителей + данные из продуктов? – marco