在Python的嵌套列表中提取子列表

时间:2018-09-18 04:28:25

标签: python list boolean-expression

给出如下字符串:'〜a&〜b&(〜c |〜a)-> c'

我希望生成一个包含该语句所有子语句的列表,即:

- (~c|~a)
- ~a & ~b & (~c | ~a)
- ~a & ~b & (~c | ~a) -> c

进入列表。我已经有一个能够找到的解析器:

- [[['~', 'a', '&', '~', 'b', '&', ['~', 'c', '|', '~', 'a']], '@', 'c']]

在这里,我希望将每个列表依次压缩到自己的语句中,并将它们作为子列表进行评估,也就是我想在上面的列表中找到

- ['~', 'c', '|', '~', 'a']
- ['~', 'a', '&', '~', 'b', '&', ['~', 'c', '|', '~', 'a']]
- [[['~', 'a', '&', '~', 'b', '&', ['~', 'c', '|', '~', 'a']], '@', 'c']]

有人可以给我一些建议吗?我想递归地执行此操作,但是我还无法提出解决方案。

我的总体目标是创建一个布尔表达式评估器,因此,如果有人对此也有指导,将不胜感激。

1 个答案:

答案 0 :(得分:1)

幸运的是,这是一个非常容易设置的递归:

php --info | grep "error"

    display_errors => STDOUT => STDOUT
    display_startup_errors => On => On
    error_append_string => no value => no value
    error_log => no value => no value
    error_prepend_string => no value => no value
    error_reporting => 24575 => 24575
    html_errors => Off => Off

此打印:

memory_limit = 400M
upload_max_filesize = 400M
post_max_size = 400M