1、列表:
是一个数据的集合,集合内可以放任何数据类型,可对集合进行方便的增删改查操作。
L1 = [] #定义空列表
L2 = ['a','b','c','d']#存4个值,索引为0-3。列表索引:a=0 b=1 c=2 d=3。索引从0开始
L3 = ['abc',['def','ghi']] #嵌套列表
方法二:这种方法不常用
L4= list() #list 加()就是一个空列表
print(L4)
2、查询:
列表索引:a=0 b=1 c=2 d=3。索引从0开始。索引从右边开始为负数
列表的值可以重复
查找C在列表中索引值,有重复的c只列出从左开始第一个C
>>name = ['a','b','c','d']
>>name.index(‘c’) #index加c,取c在列表中的索引值。
>>2 #列中索引值
name.count('a') 查询a在列表中的个数。
len(name) 查询列表的长度。“索引是列表长度减1”
3、切片:切的是索引值
从左到右切片:
>>n2[0:3] #切0 1 2 3 四个索引。只显示索引0 1 2 3尾数不显示。
>>n2[3:7] #切索引3 4 5 6 7
[1,3,4,4] #切出来的数值
从0开始切,0可以不写 n2[:3]
从右到左切片:
>>n2[-5:] #切后5位也是从左开始切。所以不要尾数-1
0 2 3 4 4
步长切片:
>>n2[:7:3] #从0取到7, :3隔三个值取一个。
>>n2[:] #等于n2 从0取值到最后。
>>n2[::2] #从0取到尾,:2隔两个值取一个。
4、增加:
>>n2 = 1 ,2 ,3,4,5,6
>>n2.append('peiqi') #追加peiqi到n2里面,默认加到n2数值里面的最后面。
>>n2 = 1,2,3,4,5,6,'peiqi'
5、插入:
>>n2.insert(0,'abc') #插入abc到n2里面索引 0 的位置。索引写4就加在索引的4的位置。
>>n2 = 'abc',1,2,3,4,5,6,'peiqi'
6、修改:
>>n2 = 'abc',1,2,3,4,5,6,'peiqi'
>>n2[0] = 'lidong' #将n2的索引0的位置改为lidong。就是把abc改成lidong
>>n2 = 'lidong' ,1,2,3,4,5,6,'peiqi'
>>n2[4:6] = 'JACK LIU ' #批量修改
7、删除:
>>n2.pop() #删除最后一个
>>n2.remove('abc') #指定删除abc
>>del n2[2] #删除n2中索引 2 位置的值。
>>del n2[2:6] #批量删除
>>n2.clear() #清空列表
>>del :可以全局删除任何东西
8、循环:
>>n2 = 'a','b','c','d'
>>for i in n2: #for循环,i in n2 将n2的值附给i 。i也相当于一个临时变量
print(i) #循环打印i,第一次打印a,第二次b。。。。
For index.i in enumerate(n2): #枚举的作用就是把索引直接取出来
Print(index.i) #取索引值
>>range(10) #创建一个值为0-10的一个列表。
>>for i in range(10) #循环
print(i) # 打印出来。
注:
while True : while条件成立为真的时候发起死循环
for : 循环有边界,定义条件的时候就已经定义了边界,根据列表的长度定义循环的长度。
9、排序:
列表的值按照scii码自动排列。
>>n2.sort() #sort 排序
>>n2.reverse() #倒过来排序。
10、深浅copy_x264
n + n2 # 将俩个表合并
n.extend(n2) #也是将两个表合并
n3 = n2.copy() #复制一个新表名为 n3
id(a) 查看内存地址
列表里的每一个元素其实都是独立表,都有独立的内存地址。
浅copy
n2 = names.copy() :names中的子列表中的元素将会被共享给n2和names使用。
深copy:
import copy :进入深copy,子列表独立。完全克隆。
N4 = Copy.deepcopy(names) 深copy。N4完全独立的列表。