小编Dun*_*bby的帖子

为什么范围(n)中的_比[""]*n中的_慢?

测试替代for _ in range(n)(执行一些动作n时间,即使动作不依赖于值n)我注意到这种模式的另一种表现更快,for _ in [""] * n.

例如:

timeit('for _ in range(10^1000): pass', number=1000000)
Run Code Online (Sandbox Code Playgroud)

返回16.4秒;

然而,

timeit('for _ in [""]*(10^1000): pass', number=1000000)
Run Code Online (Sandbox Code Playgroud)

需要10.7秒.

为什么[""] * 10^1000比range(10^1000)Python 3 快得多?

所有测试都使用Python 3.3完成

python python-internals

6
推荐指数
2
解决办法
1742
查看次数

从超出数组的指针指向数组访问是否安全?

对此问题的措辞很抱歉,但归结为这一点。我正在维护执行以下操作的C代码:

char *foo = "hello"
int i;
char *bar;

i = strlen(foo);
bar = &foo[i];
Run Code Online (Sandbox Code Playgroud)

这样安全吗?莫不是在的情况下,foo[i]它会导致分段错误,前一个指针,而不是盖的编译器?

c

1
推荐指数
1
解决办法
57
查看次数

标签 统计

c ×1

python ×1

python-internals ×1