元组
创建新元组 ()
元组:tuple
1,定义 t = ()空的元组 t = (1,“2”,“a”,3.14)
2,是否可以动态改变元素:值不可变
3,切片 同str
4,操作:
print(len(t)) :方法返回对象(字符、列表、元组等)长度或项目个数。
print(t.count(1)) :计数
print(t.index(1)) :法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
t = sorted(t)
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作
深复制和浅复制
这主要是针对字典和列表这类可变的数据类型来说的。一般来说,我们要想变量 x 和变量 y 的值一样的话,直接赋值就可以了
这是因为 y 的值变化了,意味着 y 指向了新的内存地址,而 x 还是原来的地址,所以并不会受影响。
这是因为列表变量指向的是列表所在的内存地址,lb 和 la 都是指向同一个列表的地址,因此这个列表中的内容变化,通过这两个变量查到都会变化,毕竟这两个变量指向的是同一个内容。
从上面可以看出,虽然使用了列表的 copy 方法,但是一旦涉及到列表中的元素是列表这种多维列表的方式,依然会互相影响。
那么要实现完全独立,不管是多少维度的列表都能完全独立的话,需要用到 Python 标准库中的 copy 库提供的 deepcopy 函数了
作者:猫与测试
链接:https://www.jianshu.com/p/c5491dd0de41
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
用了 deepcopy 函数,那么不管其中有多少层的子列表,都不会互相影响了。