我經常遇到這個問題:我正在創建一個函數,需要對一個值執行一系列操作,無論該值是單個值還是值列表。如何處理Python單個vals和vals列表的方式相同?
有一種優雅的方式來做到這一點:
def convert_val(val):
do a series of things to each value, whether list or single val
return answer or list of answers
而不是我一直在做?:
def convert_val(val):
if isinstance(val, list):
... do a series of things to each list item,
return a list of answers
else:
... do the same series, just on a single value
return a single answer
一種解決方案是創建一個sub_convert()會做一系列操作,然後只需調用一次或迭代,具體取決於傳入convert()的類型。
另一個將創建一個將接受參數(值,sub_convert())的convert()。
其他建議,會更緊湊,優雅,最好是在一個功能?
(我已經做了幾個搜索這裏,看看我的問題已經得到解決。我appologies如果有)。
感謝, JS
地圖()調用也是一個好主意,我沒有考慮。謝謝! – 2010-07-16 18:34:41