所以首先,这是代码(文件是一种二进制文件:
def function(file):
for r in range(0, len(file), 1):
file = file[:r] + file[r+2:] + file[r:]
print '%x' % r
事实是我必须将此Python代码传递给C,但我不知道如何传递此行:file[:r]+file[r+2:]+file[r:]
(它使用间隔功能,我想数组和指针可以提供帮助,但这就是我在这里所知道的全部)...
如果有人有一个主意,那会对我有帮助!
谢谢
我不太了解您要实现的功能,因此我无法翻译它。
您正在添加列表切片,但是我不确定这是否是您期望的行为。在python中,普通列表上加法的行为是串联,因此:
<<< l = [1,2,3,4,5,6,7]
<<< l[:2] + l[5:]
输出结果:
>>> [1,2,6,7]
但是,假设您要执行的操作是列表范围的总和,可以这样进行:
int sum(int *numbers, size_t len) {
int r = 0;
for (size_t i = 0; i < len; i++)
r += numbers[i];
return r;
}
void function(int *file, size_t len_file) {
for (size_t r = 0; r < len_file; r++) {
int s = sum(file, r) + sum(file+2, len_file) + sum(file+r, len_file);
}
}