【问题标题】:quotation marks needed for variable name in timeit moduel, python3timeit模块中的变量名需要引号,python 3
【发布时间】:2018-08-25 02:59:36
【问题描述】:
import random
import timeit
data = [random.randint(-10,10) for i in range(10)]
timeit.timeit('filter(lambda x : x>=0 ,"data")')

如代码所示。 如果我尝试从“数据”中删除“”,则会引发错误。 为什么? 仍然有一个包含整个过滤器行的单引号。 谢谢你的帮助!!

【问题讨论】:

  • 请不要将文字作为图片发布。编辑器工具栏中有一个格式化按钮,用于使文本看起来不错。请使用它。
  • 这是我第一次发帖,给您带来的不便敬请谅解。我试图将图片添加到文本区域,stackoverflow 说在我升级之前不允许这样做?不过还是谢谢
  • 不要使用图片;将代码本身(在代码前每行使用 4 个空格进行格式化)添加到文本区域。
  • 谢谢!下次我会这样做!
  • 下次不会。请使用问题下方的编辑按钮,这次请这样做。

标签: python string python-3.x timeit variable-names


【解决方案1】:
timeit.timeit('filter(lambda x : x >= 0, {})'.format(data))

【讨论】:

  • 感谢您的帮助,但是为什么没有引号的数据会导致语法错误?
  • 不熟悉timeit,但看起来它接受字符串作为参数。在这种没有双引号的情况下,它会将您的参数识别为一个完整的字符串,而不是带有变量的字符串。
  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
【解决方案2】:

data 是字符串,它应该在引号 "" 下,除非您将它存储在另一个变量中,例如

data="data"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多