python list列表的常规操作

136 阅读2分钟

以 [ ] 表示一个list,以索引访问列表元素

添加列表元素

t = ['a','b','c']
# .append(element) 在列表末尾添加元素
t.append('d')
# .insert(index, element) 在列表中插入元素
t.insert(1, 'kk')

删除列表元素

t = ['a','b','c']
# del list[index]
del t[0]

# .pop() 删除末尾元素
t.pop()

# .pop(index) 删除索引位置元素
t.pop(1)

# .remore(element)删除列表中第一次出现的指定元素位置
k = 'b'
t.remore(k)

需要注意的是 .remore( ) 只删除第一次出现的元素,意味着如果element在列表中不止出现一次,即需要引入一个循环来剔除它们

上述的前三个方法是根据位置(索引)来进行删除元素操作,而 .remore( ) 是根据元素来进行删除操作

组织列表

t = ['b','a','c']
# .sort()永久地修改列表排序,默认以顺序排序,可以用reverse = True来逆序排序
t.sort()
t.sort(reverse = True)
# .sorted()临时修改列表排序
t.sorted(reverse = True)

# .reverse()反转列表元素的排列顺序(永久性)
t.reverse()

# len( )获取列表长度
len(t)

使用函数 range( )

# range(n,m,k)
# 上述生成一个n到m-1的系列数,步长为k,k可省略即默认步长为一
# 支持用list(range(n,m,k))生成一个数字列表
even_number = list(range(2, 11, 2))
print(even_number)

使用函数max( ),min( ),sum( )

digits = [1,2,3,4,5]
max(digits)
min(digits)
sum(digits)

解析列表

Untitled.png

列表切片

list[ n: m: k],切片即处理列表的部分元素

要创建切片,可指定要使用的第一个元素和最后一个元素的索引,与函数range( )相同

如果要复制列表,可以创建一个包含整个列表的切片,即通过[ : ]来实现复制一个已有列表

t1 = ['a', 'b', 'c']
t2 = ti[:]

而习惯理解的等号赋值‘=’不是复制列表的方式,这里我引入的是“变量是一个标签”的理解,等号没有进行赋值,而是将标签所指的地址空间进行了复制,使得两个变量‘标签’指向同一个地址的内容,对复制过来的列表进行修改原列表也会发生改变,这显然不是我们想要的

t1 = ['a', 'b', 'c']
t2 = ti
t2.append('d')
print(t1)
# 这里打印t1的结果也改变了

检查列表中的特定值in

要判断特定的值是否已包含在列表中,可使用关键字in,同理,检查不包含特定值使用not in

t1 = ['a', 'b', 'c']
if 'b' in t1:
		print('b in the t1 list')
if 'd' not in t1:
		print('d not in the t1 list')