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
    评论
### 回答1: 可以使用以下代码定义一个函数实现整数的幂运算: ``` def power(base, exponent): result = 1 for i in range(exponent): result *= base return result ``` 其,`base`表示底数,`exponent`表示指数。函数使用循环来计算幂运算的结果,每次循环将底数乘以自身,共循环`exponent`次。最后返回结果。 ### 回答2: 在Python,使用“**”符号可以实现整数的幂运算,但是我们也可以定义一个函数来实现这个功能。 我们可以使用以下的公式来计算幂运算: x^n = x * x * x * ... * x (共n个x) 因此我们可以定义一个函数,将x和n作为参数传入,并使用for循环来计算幂运算的结果: def power(x,n): result = 1 for i in range(n): result *= x return result 这个函数,result变量用来存储幂运算的结果,初始化为1。在for循环,我们将x乘以result n次,最后返回result的值即为幂运算的结果。 我们可以用以下的代码测试这个函数: print(power(2,3)) #输出8 print(power(5,2)) #输出25 输出结果正常,因此我们成功定义一个实现整数的幂运算函数。 ### 回答3: Python提供了内置函数pow()用以实现整数的幂运算,但其只能接收两个参数:x为底数,y为指数。但如果我们要自己定义一个函数实现整数的幂运算该怎么办呢?下面是一个实现该功能的例子: ```python def power(x, y): """ 自定义函数实现整数幂运算 :param x: 底数 :param y: 指数 :return: 幂运算结果 """ result = 1 if y == 0: return result elif y > 0: for i in range(y): result *= x else: for i in range(abs(y)): result /= x return result ``` 这个函数接收两个参数:底数x和指数y,并通过循环来计算幂运算结果。如果指数为0,返回1;如果指数为正数,执行一个for循环用乘法逐个相乘;如果指数为负数,执行一个for循环用除法逐个相除。最后返回运算结果。 下面是一些使用这个函数的示例: ```python >>> power(2, 3) # 2的3次幂 8 >>> power(3, 2) # 3的2次幂 9 >>> power(5, -2) # 5的负2次幂 0.04 >>> power(2, 0) # 2的0次幂 1 ``` 这些示例都演示了如何调用自定义函数power(),并得到正确的结果。此函数也可以扩展以处理其他类型的幂运算,如实数幂,负幂等,但将超出本题的范围。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值