内置数据结构(变量类型)
- list
- set
- dict
- tuple
list(列表)
- 一组由顺序的数据的组合
- 创建列表
- 空列表
列表常用操作
- 访问
- 使用下标操作(索引)
- 列表的位置是从0开始
- 分片操作
- 对列表进行任意一段的截取
- l[:]
分片操作是生成一个新的list
- 内置函数id,负责显示一个变量或者数据的唯一确定编号
List(列表)
- del: 删除命令
列表的遍历
- for
- while
列表内涵: list content
-
通过简单方法创作列表
for 创建
a = ['a', 'b', 'c'] # 用list a创建一个list b # 下面代码的含义是,对于所有a中的元素,逐个放入新列表b中 b = [i for i in a] print(b) # 对a中所有元素乘以10,生成一个新list a = [1,2,3,4,5] # 用list a创建一个list b # 下面代码的含义是,对于所有a中的元素,逐个放入新列表b中 b = [i*10 for i in a] print(b) # 还可以过滤原来list中的内容病放入新列表 # 比如原有列表a, 需要把所有a中的偶数生成新的列表b a = [x for x in range(1,35)] #生成从1到34的一个列表 # 把a中所有偶数生成一个新的列表 b b = [m for m in a if m % 2 == 0] print(b) # 列表生成式可以嵌套 # 由两个列表a,b a = [i for i in range(1,4)] # 生成list a print(a) b = [i for i in range(100,400) if i % 100 == 0] print(b) # 列表生成是可以嵌套,此时等于两个for循环嵌套 c = [ m+n for m in a for n in b] print(c) # 上面代码跟下面代码等价 for m in a: for n in b: print(m+n, end=" ") print() # 嵌套的列表生城市也可以用条件表达式 c = [ m+n for m in a for n in b if m+n < 250] print(c)
关于列表的常用函数
- list
- max
- min
- len
- append
- insert
- extend
- pop
- remove
- count
- copy
深拷贝跟浅拷贝的区别
出现下列问题的原因是,copy‘函数是个浅拷贝函数,即只拷贝一层内容
深拷贝需要使用特定工具
a = [1,2,3, [10, 20, 30]]
b = a.copy()
print(id(a))
print(id(b))
print(id(a[3]))
print(id(b[3]))
a[3][2] = 666
print(a)
print(b)