【问题标题】:execute several times the same procedure in python在python中执行多次相同的过程
【发布时间】:2016-11-09 06:38:52
【问题描述】:

在我的代码中,我目前正在做这样的事情:

for _ in xrange(n):
    f(x)

其中f 是一些不返回任何内容的任意函数(即只是一个None),x 是该函数的任意输入

我只是想知道是否有一种适当的方法可以在一行中做到这一点? python中有很多函数,如map、fold等,用于对列表元素进行操作,但似乎都认为我们对函数返回的内容感兴趣。

在做:

[f(x) for _ in xrange(n)]

实际上工作正常,但它返回了我不需要的 None 的完整列表。

【问题讨论】:

  • 由于\n字符的价格还是0,所以分2行就可以了。
  • 第二个应该避免,因为你正在使用对它的副作用的理解,这是一个巨大的no-no

标签: python procedure


【解决方案1】:

两行是好的和预期的。

如果你有充分的理由,你可以做for _ in range(n): f(x),但你可能没有这些理由。

【讨论】:

    【解决方案2】:

    对我来说,写类似的东西

    for i in array: f(x)
    

    适用于 python 2.7 和 3

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-19
      • 2019-01-02
      • 2014-03-01
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      相关资源
      最近更新 更多