2 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
嘗試以下操作:
import math
CONSTANTS = {'pi': math.pi}
myList = [2, '+', 3, 'pi']
for e in myList:
print(CONSTANTS.get(e, e))
我們正在創(chuàng)建一個(gè)字典CONSTANTS,您在其中使用數(shù)字的名稱(chēng)pi作為鍵來(lái)檢索其值,即math.PI。然后你遍歷,你是說(shuō),如果在這種情況下列表中的每個(gè)元素myList都有一個(gè)與鍵關(guān)聯(lián)的值,那么給我與該鍵關(guān)聯(lián)的值并打印它。否則,只需打印該值。evalue
要將列表從 轉(zhuǎn)換[2, '+', 3, 'pi']為[2, '+', 3, 3.1415...],請(qǐng)執(zhí)行以下操作:
CONSTANTS = {'pi': math.pi}
newList = [CONSTANTS.get(e, e) for e in myList]

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用三元運(yùn)算符的列表理解
import math
myList = [2, '+', 3, 'pi']
myList = [x if x != 'pi' else math.pi for x in myList]
print(myList)
解釋
在 python 中,可以使用其他列表創(chuàng)建列表,這稱(chēng)為列表理解。
[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 有一個(gè)看起來(lái)有點(diǎn)傻的三元“運(yùn)算符”:
example = x if x != 'pi' else math.pi
這是一個(gè)表達(dá)式(在 Python 中,這意味著它需要被評(píng)估并有一個(gè)值),如果 x 不是'pi',example 將等于 x,否則它將等于 math.pi。它相當(dāng)于:
if x != 'pi':
example = x
else:
example = math.pi
添加回答
舉報(bào)