Выберите значения из JSON, которые не равны чему-то в Python - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть следующий код

import json

x= [{'name': 'a', 'payment': '$10'}, {'name': 'b', 'payment': '$15'}, {'name': 'c', 'payment': '$0'}] 

y = json.dumps(x)

Я хотел бы выбрать все значения, которые не имеют значения $ 0, и напечатать их, например,

[{"name": "a", "payment": "$10"}, {"name": "b", "payment": "$15"}]

Как можноЯ так делаю?

Ответы [ 3 ]

0 голосов
/ 18 февраля 2019

Вы можете использовать понимание списка:

x_filtered = [i for i in x if i['payment'] != '$0']

Вы можете использовать функциональный подход:

x_filtered = list(filter(lambda i: i['payment'] != '$0', x))

Или добрый старомодный цикл:

x_filtered = []
for i in x:
    if i['payment'] != '$0':
        x_filtered.append(i)
0 голосов
/ 18 февраля 2019

Вы можете просто использовать простое понимание списка

>>> x
[{'name': 'a', 'payment': '$10'}, {'name': 'b', 'payment': '$15'}, {'name': 'c', 'payment': '$0'}]
>>> [y for y in x if y['payment'] != '$0']
[{'name': 'a', 'payment': '$10'}, {'name': 'b', 'payment': '$15'}]
0 голосов
/ 18 февраля 2019
for d in x:
    if d['payment']=='$0':
        continue
    print(d)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...