在列表中查找变量名并匹配到变量

我有一个清单:

myList = [2, '+', 3, 'pi']

我还有一个变量pi,它等于3.14'pi'我想获取字符串myList,并将其与变量匹配pi,所以当我执行代码来编译列表时,pi我希望它输出,而不是输出3.14,或者变量pi的任何值。对不起,如果它令人困惑。有什么方法可以做到这一点?

我试过更改'pi'pi,但这只是给出了一个错误,因为它pi不是一个整数。


蝴蝶不菲
浏览 85回答 2
2回答

拉莫斯之舞

尝试以下操作:import mathCONSTANTS = {'pi': math.pi}myList = [2, '+', 3, 'pi']for e in myList:    print(CONSTANTS.get(e, e))我们正在创建一个字典CONSTANTS,您在其中使用数字的名称pi作为键来检索其值,即math.PI。然后你遍历,你是说,如果在这种情况下列表中的每个元素myList都有一个与键关联的值,那么给我与该键关联的值并打印它。否则,只需打印该值。evalue要将列表从 转换[2, '+', 3, 'pi']为[2, '+', 3, 3.1415...],请执行以下操作:CONSTANTS = {'pi': math.pi}newList = [CONSTANTS.get(e, e) for e in myList]

红糖糍粑

使用三元运算符的列表理解import mathmyList = [2, '+', 3, 'pi']myList = [x if x != 'pi' else math.pi for x in myList]print(myList)解释在 python 中,可以使用其他列表创建列表,这称为列表理解。[f(x) for x in list]f(x) - some function of xfor x in list - passing over each element in the listWrapped in square brackets to represent a new list being created.此外,python 有一个看起来有点傻的三元“运算符”:example = x if x != 'pi' else math.pi这是一个表达式(在 Python 中,这意味着它需要被评估并有一个值),如果 x 不是'pi',example 将等于 x,否则它将等于 math.pi。它相当于:if x != 'pi':    example = xelse:    example = math.pi
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python