列表
1:用途:存放多个值
定义方式: []内以逗号分隔多个元素,列表内元素五类型限制
x=['a','b','c'] # type (x) ==>> ‘ <class 'list'>’
2:常用操作+内置的方法
2.1:按索引存取值(正向存取+反向存取):即可改也可以取 语法:x[索引元素的位置] x表示列表
x=['a','b','c'] print(id(x)) #打印结果 2169438807112
print(x[-1]) #打印结果 c
x[0]='A'
print(id(x)) #打印结果 2169438807112
print(x) #打印结果 ['A', 'b', 'c']
可以取值 . 值变,id不变, 所以是可以更改的。
2.2 切片(顾头不顾尾,步长) 同字符串差不多 语法: x[ 起始位置 : 末尾位置的后一位: 步长] x 表示列表
stus=['alex','egon','wxx','yxx','lxx'] print(stus[1:3]) #打印结果 ['egon', 'wxx'] 从左向右数 print(stus[-1:-4:-2]) #打印结果 ['lxx', 'wxx'] 从右向左数, 隔一个取一个
2.3 长度 len 语法: len(x) X表示列表
stus=['alex','egon','wxx','yxx','lxx'] print(len(stus)) #打印结果 5 表示有5个元素在里面
2.4 成员运算 in(在里面的意思 )和 not in(不在里面的意思)
stus=['alex','egon','wxx','yxx','lxx'] print('alex' in stus) #打印结果为True 说明alex 在列表里面
2.5 追加 append 语法:x.append('') X是指列表, ()里是指要追加的元素 ,最后追加的内容只能放在列表中的位置的最后
stus=['alex','egon','wxx','yxx','lxx'] stus.append('wupei') stus.append('peiqi') print(stus) # 打印结果['alex', 'egon', 'wxx', 'yxx', 'lxx', 'wupei', 'peiqi']
2.6 插入 insert 语法:x.append( 插在其前面的那个元素的位置,' 插入的元素') 其中 X是指列表,()里是指要追加的元素 ,最后追加的内容只能放在列表中的位置的最后
stus=['alex','egon','wxx','yxx','lxx'] stus.insert(1,'艾利克斯') #要插在'egon'的前面,‘egon’在列表stus中为第1位 print(stus) #打印结果 ['alex', '艾利克斯', 'egon', 'wxx', 'yxx', 'lxx']
2.7 删除 remove 与 pop
remove :单纯的删除 删除的那个值没有了取不到 语法: x.remove('alex') x 表示列表,()里表示要删除的那个元素
pop: 取走一个值, 取走的这个值可以重新赋予变量名使用。 语法:x.pop() x 表示列表,()里表示要取走的那个元素, ()里不写的话 ,默认删除末尾)
stus=['alex','egon','wxx','yxx','lxx'] stus.remove('alex') print(stus) # 打印结果 ['egon', 'wxx', 'yxx', 'lxx'] stus=['alex','egon','wxx','yxx','lxx'] b=stus.pop(1) print(b) #打印结果 egon print(stus) #打印结果 ['alex', 'wxx', 'yxx', 'lxx'] stus=['alex','egon','wxx','yxx','lxx'] stus.pop() # ()里不写元素的话,默认删除末尾 print(stus) #打印结果['alex', 'egon', 'wxx', 'yxx']
2.8 循环 依赖索引型 (while) 与不依赖索引型 ( for)
while: stus=['alex','egon','wxx','yxx','lxx'] i=0 while i< len(stus): print(stus[i] ,end=" ") #end=""表示不换行 i+=1 #打印结果 alex egon wxx yxx lxx stus=['alex','egon','wxx','yxx','lxx'] for item in stus: print(item,end=' ') #打印结果 alex egon wxx yxx lxx
for循环的补充内容:range . range只相当于一个参数 , 来表达一定的范围。
for i in range(0,5,2): print(i) #打印结果:#0 2 4 for i in range(10): #默认从零起始 print(i) #打印结果0 1 2 3 4 5 6 7 8 9 for i in range(10,-2,-1): print(i,end=" ") #打印结果 10 9 8 7 6 5 4 3 2 1 0 -1
2.9 需要掌握的
(1)count(统计某个元素的个数), x.count(' ') X代表列表,()里面代表统计的某个元素
stus=['alex','egon','alex','wxx','yxx','lxx'] print(stus.count('alex')) #打印结果 2 表示列表里有2个alex
(2)extend 可以扩展多个元素 语法:x.extend() x 代表列表 ,()里面代表要扩展进去的列表
stus=['alex','egon','alex','wxx','yxx','lxx'] stus.extend(['a','b','c']) print(stus) #打印结果 ['alex', 'egon', 'alex', 'wxx', 'yxx', 'lxx', 'a', 'b', 'c']
(3)index: 索引列表中某个元素在列表中的位置,默认从左到右第1个起算 语法 :x.index('', 起始位置,结束位) x 代表列表
stus=['alex','egon','alex','alex','wxx','yxx','lxx'] print(stus.index('alex',1,5)) # 打印结果是2 # 1,5 代表起始位置, 与结束位置(不包括这一位)。从第2个元素开始算起,到第6个元素(不包括第6个元素)中alex在整个元素中的位置为第2位
(4)reverse:反转 反过来 。语法: x.reverse() x表示列表
stus=['alex','egon','alex','alex','wxx','yxx','lxx'] stus.reverse() print(stus) #打印结果 ['lxx', 'yxx', 'wxx', 'alex', 'alex', 'egon', 'alex']
(5) sort 排序。大前提:只能同类型直接比较大小,对于有索引值直接的比较是按照位置一一对应进行比较的。其中所有的大写字母 都小于 所有的小写字母。(字母同类型的话越往后越大, 其中小写字母 z 最大, a>Z)
X=[1,10,3,12] X.sort print(X) #打印结果[1, 10, 3, 12] X=[1,10,3,12] X.sort(reverse=True) #reverse 反转的意思 print(X) # 打印结果 [12, 10, 3, 1]