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
添加回答
舉報