小编iwa*_*der的帖子

添加到列表与增量

鉴于在Python中:

element = element + [0]
Run Code Online (Sandbox Code Playgroud)

应该等于:

element += [0]
Run Code Online (Sandbox Code Playgroud)

为什么要修改列表而另一个没有?这是一个例子:

>>> a = [[0, 0], [0,0]]
>>> for element in a:
...     element = element + [0]
... 
>>> a
[[0, 0], [0, 0]]
Run Code Online (Sandbox Code Playgroud)

a未被修改.但如果我增加:

>>> a = [[0, 0], [0,0]]
>>> for element in a:
...     element += [0]
...
>>> a
[[0, 0, 0], [0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)

a被修改.

谢谢,弗兰克

python

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

python - 字符串与列表类型和NoneType

为什么这会评估为字符串类型:

>>> strng = 'spam'
>>> type(strng.replace('a', 'A')) 
>>> <type 'str'>
Run Code Online (Sandbox Code Playgroud)

但是这个评估类型为NoneType?

>>> list_a = ['spam']
>>> type(list_a.append('eggs')) 
>>> <type 'NoneType'>
Run Code Online (Sandbox Code Playgroud)

python

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

free()用零替换字符串?

我可以使用free()一点帮助.

当我运行以下内容时:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, const char *argv[])
{
    char *mystring = malloc(6 * sizeof(char));
    strcpy(mystring, "Hello");
    printf("%p\n", mystring);
    printf("%s\n", mystring);
    free(mystring);
    printf("%p\n", mystring);
    printf("%d\n", *mystring);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

0x8f46008
Hello
0x8f46008
0
Run Code Online (Sandbox Code Playgroud)

free()用零替换内存中的字符串'Hello'吗?

注意:这仅用于学术目的.我永远不会引用释放的记忆.

谢谢,弗兰克

c string free

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

标签 统计

python ×2

c ×1

free ×1

string ×1