2 回答
TA贡献1820条经验 获得超10个赞
尝试以下操作:
import math
CONSTANTS = {'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]
TA贡献1815条经验 获得超6个赞
使用三元运算符的列表理解
import math
myList = [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 x
for x in list - passing over each element in the list
Wrapped 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 = x
else:
example = math.pi
添加回答
举报