(5)copy()
浅复制
lis = ['a','b','c','d','e']lst = lis.copy()print(lst)
相当于lst = lis[:]
(6)clear()
清空列表
3.元组 3.1 元组概念
Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用“()”列表使用"[]"
3.2 元组操作
t=(1,2,3)print(t[0])修改或者删除元素的话会报错:t[0]= 10删除报错:t.pop()但是可以变向进行删除tuple->list(进行删除操作)->tuple
3.3 可变对象与不可变对象
中,不可变类型包括:
int 、float、 字符串str 、元组tuple、bool 。
可变类型包括:
列表list、集合set、字典dict 。
每个对象在内存中保存了3个数据:
id(标识)
type(类型)
value(值)
举例:
列表a = [1,2,3],在内存中的一定区域,会分别保存一个对象的id(假设为0x111)、type(class list)、value([1,2,3]) 。
对序列中的元素进行改变即对值进行改变 。
修改前:
a = [1,2,3]print(a,id(a))
打印
[1, 2, 3] 1843535938056
改对象后:
a[0] = 10print(a,id(a))
打印
[10, 2, 3] 1843535938056
显然,此时a对象未发生改变 。
改变量后:
a = [4,5,6]print(a,id(a))
打印
[4, 5, 6] 1384044909640
显然,此时a对象发生改变 。
将a赋给新变量b:
a = [1,2,3]b = ab[0] = 10print('a:',a,id(a))print('b:',b,id(b))
打印
a: [10, 2, 3] 1963325084232b: [10, 2, 3] 1963325084232
显示,a和b的值和id完全一致 。
解释:
生成a时,a对应的值为id(假设为0x111)、type(class list)、value([1,2,3]),
将a赋给b时,其实只是将b指向了a对应的内存对象的内存地址,并未分配新的内存空间给b,a和b共用一个内存地址,所以a和b打印出来的结果一致 。
a = [1,2,3]b = ab = [10,2,3]print('a:',a,id(a))print('b:',b,id(b))
打印
a: [1, 2, 3] 2260109775432b: [10, 2, 3] 2260109775944
此时b和a不一致,因为b是通过重新赋值得到的新列表,系统会重新分配一个内存地址,所以id会不同 。
3.4 ==和is
==和!=比较的是对象的值是否相等;
is和is not比较的是对象的id是否相等 。
a = [1,2,3]b = [1,2,3]print(a == b)print(a is b)
打印
TrueFalse
!=和is not的用法类似 。
4.字典 4.1.定义
字典即dict,是一种新的数据结构,也可以叫映射() 。
字典的作用:
存储对象的容器 。
列表存储数据性能很好,但是查询数据性能很差;
字典中每一个元素都有唯一的名字,通过这个名字可以快速查找到指定的元素,这个唯一的名字称为键(key),通过key可以查找到值(value),所以字典也称为键值对(key-value),每个字典可以有多个键值对,每个键值对称为一项 。
- 最神秘的三座陵墓,一座不能挖,一座不敢挖,另一座挖不动
- 明明是一代传奇词人,偏偏无奈生在帝王家
- 一个开创出了盛世,同时也是历史上最大的败家子的帝王
- 宋仁宗:历史上最宽仁的皇帝之一却也难过美人关
- 一条杆棒等身齐:揭开太祖赵匡胤的武功有多高
- 乾隆皇帝一生最大的过错是什么?他为何这样做
- 三国十大家门不幸的美女:最后一个让人脊背发凉
- 【地图学】二、地图矢量化
- 【批量改文件夹中的图片名称-python】
- 60升电热水器功率一般多大