說我有一個清單number_list = [3,4,9]
我想根據一個串列對串列中的數字進行操作,例如operators = [' ', '-']
該程式將獲取這些串列并使用串列對數字進行操作。使用示例串列,將等同于以下內容:
3 4 - 9
該函式將回傳此等式的結果。
雖然我知道加減運算的順序無關緊要,但我計劃將它與乘法和除法一起使用,因為順序很重要。
感謝任何可以提供一些關于我將如何做到這一點的見解的人。
uj5u.com熱心網友回復:
不關心安全性的懶惰解決方案(閱讀 eval 可以做的“壞事”)
number_list = [3, 4, 9, 5]
operators = [" ", "-", '*']
# create a new list that can hold the above lists
new = [None] * (len(number_list) len(operators))
# assign the first list using slice assignment
new[::2] = number_list
# assign the second list using slice assignment
new[1::2] = operators
# make all the elements to a string and eval
res = eval(''.join(map(str, new)))
print(res)
輸出
-38
假設
operators必須具有有效的運算子,并且必須比 的大小正好小一number_list。同樣,eval如果您在實際生產代碼中執行此操作,這不是要走的路。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/437291.html
下一篇:JavaScriptn階樹
