2016-01-28 35 views
0

我有蟒蛇替代一個自變量x爲VAR串蟒蛇

def func(x): 
    # x is int 
    for cell in list1: 
     # gets each cell 
     print cell 

功能如何使用eval來計算新的字符串?

有什麼想法嗎?

謝謝

+0

您首先意識到字符串列表是對函數列表進行編碼的可怕方法。 'list1'應該是'[lambda x:x + 3,lambda x:x/3,lambda x:x * 3]'。 – chepner

+1

[評估字符串中的數學表達式]可能的重複(http://stackoverflow.com/questions/2371436/evaluating-a-mathematical-expression-in-a-string) – timgeb

回答

1

你不想替代。你想評估表達。我建議你嘗試這樣的事:

variables = { x: 900 } 
cell = 'x+3' 
result = eval(cell, locals=variables) 

這將使用Python語法評估cell表達。只要你的單元格公式足夠簡單,那可能就沒問題。如果您開始嘗試執行Excel電子表格公式,則需要做更多工作。

+0

謝謝你的迴應..但是在哪裏我應該寫變量= {}和cell = {}? – Ragnarok

+0

這取決於你。單元=''的東西可以替換爲'單元格中的單元格:'或者你需要運行的任何代碼來評估所有的單元格。 'variables = {}'既可以是外部事物(比如,這適用於所有單元格),也可以是每個單元格的特定事物。它將基於您的應用程序的要求。 –

+0

作品,非常感謝 – Ragnarok