python批量定义函数_Python中我自定义了一个函数,每次对一个keyword进行运算,现在我有300个keyword,如何批量操作?...

Python中我自定义了一个函数,每次对一个keyword进行运算,现在我有300个keyword,如何批量操作?

利用map。假设函数名为myfunc, 所有的keyword存入变量keywords

1map(myfunc, keywords)

如果有返回,map将以列表形式返回值。

如果要并行运行,请参考

http://adf.ly/1dmcH9

從題主問出這個問題可以看出來, 可能你對計算機與編程的基本精神還沒有完全掌握, 需要更注意的是程式的精神而非解法, 這邊我針對這個問題提出一點淺見。

我們為什麼需要計算機來幫助運算, 關於算法或執行算法的運算我相信人類也能夠操作, 但是計算機具備了

精準 (不出錯)

強記憶力 (容量足夠的話)

效率高

不像人類會疲乏或感到無聊, 可以 重複 地執行相同或相似的運算

第四點是個關鍵, 不想要一個一個輸入 keyword 而想要一次性地完成工作, 所以需要 program 來幫我們進行這 300 次的重複, 在編程中靠的是 loop, 靠的是 iteration, 靠的是 recursion。

所以這個問題就在於我們必須藉由 programming language 中的能夠完成重複的方法來達成目的, 在 Python 中, 不論是 while, for 甚至是遞歸都能幫助我們執行重複, 一個簡單的做法是:

1

2for keyword in keywords:

dosomething(keyword)

如果需要保存結果:

1

2

3

4

5results = []

for keyword in keywords:

result = dosomething(keyword)

results.append(result)

當然換成 while 或是 recursion 也做得到。

至於 @flyeblue 大給的解法, 在 執行完的結果 是重點的情況下非常有用, 可以簡潔地得到

1results

:

1results = map(dosomething, keywords)

P.S. map 的回傳值在 Python2 中是 return list, 在 Python3 中是 return map object

但我覺得對題主來說重要的是, 下次再碰到相同需求的時候, 能否想到 讓程式來執行重複 是解決問題的方法, 從而想到 for loop 或 while 或 recursion 或 map 或任何跟 iteration 和 repeat 有關的東西, 這才是真正的關鍵點!

感謝各位忍受我的嘮叨!

我回答過的問題: Python-QA

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值