深浅copy与while循环

发布时间 2023-07-24 01:03:59作者: 捡破烂的小L

1. 浅copy

是把原里边第一层的内存地址不加区分完全copy一份给新的列表,浅copy里面有可变类型,值改变,两个列表的值跟着改变,不改的是列表里面存着的可变类型(列表,字典)内存地址

要想copy得到新列表的与元列表的改操作完全独立开必须有种可以区分开可变类型与不可变类型的copy机制,这就是深copy

2.深copy

import copy

copy.deepcopy(list)

如果想让两个列表独立开,改操作不影响另外一个列表,应该使用深copy,浅copy只拷贝了一层, 深copy是你有多少层给你拷贝多少层,深拷贝是对可变不可边类型加已了区分

3.流程控制之while循环

  1. 循环的语法与基本使用

    while 条件:  # 又称之为条件循环,每次循环都会判断条件是否成立,不成立则不循环
    	代码:
    	代码:
    	代码:
    
  2. 死循环与效率问题

    while True:
    	1+1     # 没有Io操作,纯计算无IO的死循环会导致致命的问题
    
  3. 退出循环的两种方式

    • 方式一:讲条件改为False,等到下次循环判断条件时才会生效
    • 方式二:break,只要运行到break就会立刻终止本层循环
  4. while循环嵌套

    while True:
    	while True:
    		while True:
    			break
    		break
    	break
    
    tag = True
    while tag:
    	while tag:
    		wahile tag:
    			tag = False
    
  5. while + continue

    count = 0 
    while count < 6:
    	if count == 4:
    		count += 1
    		continue
    	print(count)
    	count += 1
    
  6. while + else

    while True:
    	......
    else:
    	print("else代码包含的代码会在while循环结束后,并且没有break打断的情况下执行")