解决字符在 python 列表中的数学问题

solving a math question that characters are in a list with python

我有这个列表[5, '*', 10, '/', 22],我想写一个函数来解决这个数学问题和return答案,但我不知道我该怎么做...

可以使用eval,但要谨慎使用:

l=[5, '*', 10, '/', 22]
y=eval(''.join([str(x) for x in l]))
print(y)

或更高级的解决方案尝试使用反向波兰表示法

首先,使用 join 函数创建该表达式的字符串,但要确保列表中的所有内容都是 <str>

类型
l = [5, '*', 10, '/', 22]
l = [str(x) for x in l]
exp = ''.join(l)

然后使用eval计算表达式字符串

eval(exp)