У меня есть следующий список списков dicts:Вывести список списков dicts в Python
l = [[{'close': 'TRUE'}], [{'error': 'FALSE'}], [{'close': 'TRUE', 'error': 'TRUE'}, {'close': 'TRUE', 'error': 'FALSE'}]]
, и я хотел бы напечатать его таким образом:
(close = TRUE) & (error = FALSE) & ((close = TRUE & error = TRUE) | (close = TRUE & error = FALSE))
На данный момент, у меня есть следующие функции, которые почти сделать работу:
def pretty_string(l):
print ' & '.join('({0})'
.format(' | '
.join('({0})'
.format(' & '
.join('{0} = {1}'
.format(key, value)
for key, value
in disjuncts.items()))
for disjuncts
in conjuncts))
for conjuncts
in l)
Но это дает мне:
((close = TRUE)) & ((error = FALSE)) & ((close = TRUE & error = TRUE) | (close = TRUE & error = FALSE))
Обратите внимание на дополнительные круглые скобки вокруг «(close = TRUE)» и «(error = FALSE)».
Как их можно удалить?