亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

蝴蝶不菲 2023-05-23 14:47:20
我有一個清單:myList = [2, '+', 3, 'pi']我還有一個變量pi,它等于3.14。'pi'我想獲取字符串myList,并將其與變量匹配pi,所以當我執行代碼來編譯列表時,pi我希望它輸出,而不是輸出3.14,或者變量pi的任何值。對不起,如果它令人困惑。有什么方法可以做到這一點?我試過更改'pi'為pi,但這只是給出了一個錯誤,因為它pi不是一個整數。
查看完整描述

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]


查看完整回答
反對 回復 2023-05-23
?
紅糖糍粑

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


查看完整回答
反對 回復 2023-05-23
  • 2 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號