Python中高效的数字处理工作

2024-06-16 18:10:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我和Python有一些麻烦。 我正在用Python(topcoder,codeforces)解决一些编程任务。有时我需要数一些东西。例如:计算字符串或其他内容中的子字符串。当我计算如下:

counter += 1

我的解决方案在某些测试中失败了。我对此进行了调查,发现我的代码应该在200000左右。我知道python中的数字是对象。我的代码试图创建200000个对象,因此超出了测试时间限制。在一个任务中,我能够优化算法,它最终需要完全降低加法。但在另一种情况下,这是不可能的,我的代码失败了,因为它应该创建许多数字对象。 我的主要语言是C#,所以我想知道,我应该如何高效地使用Python数字?你知道吗

我在那里找不到任何类似的问题,所以我要问一个问题。你知道吗


Tags: 对象字符串代码算法语言内容编程counter
1条回答
网友
1楼 · 发布于 2024-06-16 18:10:12
$ python -m timeit 'counter = 0
> for _ in xrange(200000): counter += 1'
100 loops, best of 3: 9.25 msec per loop

不到10毫秒对你的测试有这么大的影响吗?我不这么认为。你知道吗

最有可能的是counter += 1指令是而不是瓶颈。您可能使用了错误的算法,或者以错误的方式实现了算法。你知道吗


使用while

$ python -m timeit 'counter = 0
> while counter < 200000: counter += 1'
100 loops, best of 3: 10.5 msec per loop

相关问题 更多 >