如何从其他两个列表创建一个新列表,应用一个函数并将输出附加到每个列表?

时间:2016-07-26 17:07:14

标签: python

提前感谢您的帮助。

我需要从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

返回错误:IndexError:列出索引超出范围并使用此

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

仅从列表列表的第一个元素中获取元素。任何帮助将不胜感激。

1 个答案:

答案 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]

和其他人一样。