Python 2.7 如何在python中处理概率表示法?
我是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']]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指出的,如
提前感谢您一个简单的暴力实现。正如@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']],这取决于您可能需要的表达式格式,或者只是一个正则表达式,或者只是几个表达式的用法。我建议你试试后者。