都是基础知识,长久不用就会忘,温故知新,又来学习学习。相信很多人在编程的或者对一些程序处理的思维会用到,比如面试 (有写的不对的地方也请大家指正~
列表是一个有序且可更改的集合。在Python中,列表用方括号表示。列表里面的内容可以是任意类型,可重复。
li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li)
['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
1、追加 append方法
li = ['A', 'B', 'C']
li.append('E') # 一次只能添加一个元素,并且只能在列表最后
print(li)
['A', 'B', 'C', 'E']
2、插入 insert方法,比append灵活,指定索引位,注意索引从0开始
li = ['A', 'B', 'C']
li.insert(0, 'M') # 在首位插入M,两个参数
print(li)
['M', 'A', 'B', 'C']
1、弹出 pop方法
li = ['A', 'B', 'C']
li.pop() # 根据索引进行删除,默认删除最后一个元素,一次只能删除一个
print(li)
['A', 'B']
删除指定位置的数据
li = ['A', 'B', 'C']
li.pop(0) # 删除第一位
print(li)
['B', 'C']
2、移除 remove方法
li = ['A', 'B', 'C']
li.remove('B') # 删除列表中的值,一次只能删除一个
print(li)
['A', 'C']
3、操作语句del
li = ['A', 'B', 'C']
del li[0] #删指定索引的元素,需要注意是del是一种操作语句
print(li)
['B', 'C']
li = ['A', 'B', 'C']
print(li[0]) # 获取首位
print(li[-1]) # 获取末尾
A
C
li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li[0:2]) # 获取前两位
['A', 'B']
print(li[:]) # 获取全部
['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li[4:]) # 获取第5位到尾部
['E', 'F', 'G', 1, 1, 2, 3]
print(li[-3:-1]) # 获取倒数第3到倒数第2
[1, 2]
要点,找到索引位,步长为正顺着取,步长为负,逆向取
li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li[1:5:3]) # 从第2位到第6位,隔2个获取
['B', 'E']
print(li[0:5:2]) # 从开头到第6位,隔1个获取
['A', 'C', 'E']
print(li[5:0:-2]) # 从第6位开始,隔1个倒着获取
['F', 'D', 'B']
1、复制 *
li = ['A', 'B']
print(li * 2) # 复制列表中的值追加到列表
['A', 'B', 'A', 'B']
2、拼接 +
li = ['A', 'B']
li2 = ['C', 'D']
print(li + li2) # 两个列表拼接
['A', 'B', 'C', 'D']
li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li.count('A')) # 统计元素A出现的次数
print(li.count(1)) # 统计元素1出现的次数
1
2
如果列表中有重复元素,index方法只找首次出现的索引位
li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li.index('A')) # 查找元素A首次出现的索引位置
print(li.index(1)) # 查找元素1首次出现的索引位置
0
7
li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
li.reverse() # 反转列表元素
print(li)
[3, 2, 1, 1, 'G', 'F', 'E', 'D', 'C', 'B', 'A']
只对全数值有效,否则会报错
li = [1, 5, 2, 99, 6, 44, 66, 3, 34]
li.sort() # 默认对列表数据进行从小到大排序
print(li)
[1, 2, 3, 5, 6, 34, 44, 66, 99]
li.sort(reverse=True) # 对列表数据进行从大到小排序
[99, 66, 44, 34, 6, 5, 3, 2, 1]
#根据对列表元素反转的规律,从大到小排序也可以先sort后再reverse
#li.sort()
#li.reverse()
1、浅拷贝,改一个会影响另一个
#浅拷贝
l = ['A', 'B']
k = l
print(k)
l.append('C')
print(l)
print(k) # 对l列表进行操作会同步影响k列表值
['A', 'B']
['A', 'B', 'C']
['A', 'B', 'C']
2、深拷贝,改一个不会影响另一个
# 深拷贝
m = ['A', 'B']
n = m[:]
print(n)
m.append('C')
print(m)
print(n) # 对m列表进行操作不影响n列表值
['A', 'B']
['A', 'B', 'C']
['A', 'B']
3、copy函数,改一个不会影响另一个
m = ['A', 'B']
n = m.copy()
print(n)
m.append('C')
print(n)
['A', 'B']
['A', 'B']
4、内建方法list,本质可以理解为转成列表,改一个不会影响另一个
m = ['A', 'B']
n = list(m)
print(n)
m.append('C')
print(n)
['A', 'B']
['A', 'B']