Python 2.7 如何在python中处理概率表示法?

Python 2.7 如何在python中处理概率表示法?,python-2.7,Python 2.7,我是python 2.7的新手。我想创建一些函数,知道在给定的概率表示法中哪些是变量 例如:给定概率p(a,B,C | D,E,F)作为字符串输入。函数应该返回事件列表['a'、'B'、'C']和样本空间列表['D'、'E'、'F']。如果无法同时返回两个列表。返回包含两个列表的列表就可以了 总之: 输入: somefunction('P(A,B,C | D,E,F)' 预期产出:['A'、'B'、'C']、['D'、'E'、'F']] 提前感谢您一个简单的暴力实现。正如@fjarri指出的,如

我是python 2.7的新手。我想创建一些函数,知道在给定的概率表示法中哪些是变量

例如:给定概率p(a,B,C | D,E,F)作为字符串输入。函数应该返回事件列表['a'、'B'、'C']和样本空间列表['D'、'E'、'F']。如果无法同时返回两个列表。返回包含两个列表的列表就可以了

总之: 输入: somefunction('P(A,B,C | D,E,F)'

预期产出:['A'、'B'、'C']、['D'、'E'、'F']]


提前感谢您

一个简单的暴力实现。正如@fjarri指出的,如果您想做更复杂的事情,您可能需要一个解析器(比如PyParser)或至少一些正则表达式

def somefunction(str):
    str = str.strip()[str.index("(")+1:-1]
    left, right = str.split("|")
    return [left.split(","), right.split(",")]

所以,本质上,你需要解析一个表达式?而且,我猜,预期的输出实际上是
[['A','B','C',['D','E','F']]
?Opps。对预期的输出应该是[['A'、'B'、'C']、['D'、'E'、'F']],这取决于您可能需要的表达式格式,或者只是一个正则表达式,或者只是几个表达式的用法。我建议你试试后者。