Сопоставьте значения DICT и добавьте ключ к DICT, если он соответствуетPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сопоставьте значения DICT и добавьте ключ к DICT, если он соответствует

Сообщение Anonymous »

У меня есть два списка дад. < /p>
products = [
{
'offer': {
'name': 'Iphone',
'sku': '1234'
}
},
{
'offer': {
'name': 'Samsung',
'sku': '5678'
}
},
]
< /code>
prices = [
{
'id': '1234',
'price': {
'value': 500,
'currencyId': 'USD'
}
},
{
'id': '5678',
'price': {
'value': 600,
'currencyId': 'USD'
}
}
]
< /code>
I have to add prices to products with matching them by fields "sku" and "id".
I want to get a new list of dicts
[
{
'offer': {
'name': 'Iphone',
'sku': '1234',
'value': 500,
'currencyId': 'USD'
}
},
{
'offer': {
'name': 'Samsung',
'sku': '5678',
'value': 600,
'currencyId': 'USD'
}
}
]
< /code>
I tried to do this:
for product, price in zip(products, prices):
if product.get("offer", {}).get("sku", {}) == price.get("id", {}):
product.get("offer", {}).update(price.get("price", {}))
< /code>
but it doesn't works. It updates only 14 products (in the list of 4000 products) and I can't understand why.

Подробнее здесь: https://stackoverflow.com/questions/764 ... -it-matchs
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»