多语言展示
当前在线:1016今日阅读:27今日分享:41

如何理解PYTHON里列表的+=和extend的关系

理解PYTHON里列表的+=和extend的关系
工具/原料

PYTHON

方法/步骤
1

打开JUPYTER NOTEBOOK,新建一个PY文档。

2

a = 10a += 10print(a)我们知道对整数进行+=运算可以得出这个结果。

3

b = [1, 2, 3]b += bprint(b)那么对列表做+=运算就会把另一个列表加进去。

4

c = [1, 2, 3]c = c + cprint(c)实际上可以这么书写。但是意义不同。

5

b = [1, 2, 3]print(id(b))b += bprint(b)print(id(b))使用+=不会对内部储存地址发生变化。

6

c = [1, 2, 3]print(id(c))c = c + cprint(c)print(id(c))但是如果我们这样书写相当于进行赋值了,所以会对id发生变更。

7

d = [1, 2, 3]print(id(d))d.extend(d)print(d)print(id(d))可以看出extend其实和+=的作用是一样的。

8

def hey(result):    result = result + result    print(result)    new = [1, 2, 3]    hey(new)print(new)如果运用到函数上,直接赋值不影响外部参数。

9

def hey(result):    result += result    print(result)    new = [1, 2, 3]    hey(new)print(new)def hey(result):    result.extend(result)    print(result)    new = [1, 2, 3]    hey(new)print(new)+=实际和extend一样,属于方法,会影响外部参数。

注意事项

注意全局变量和局部变量的关系

推荐信息