您的当前位置:首页Python基础-列表操作(1):列表基本操作和组织列表

Python基础-列表操作(1):列表基本操作和组织列表

2024-08-01 来源:哗拓教育

Python基础-列表(1):

1、列表的基础操作

在列表末尾添加元素 insert()

word = []
word.append('a')
word.append('b')
word.append(2)
word.append('c')
print(word)
打印结果:['a', 'b', 2, 'c']

请注意:很多操作方法是直接改变列表本身,方法本身不会有返回值,需要仔细留意。

在列表中插入元素 insert()

word = ['a','b','c','d']
word.insert(1,'xxx')
print(word)
打印结果:['a', 'xxx', 'b', 'c', 'd']

删除列表元素 del

word = ['a','b','c','d']
del word[1]
print(word)
打印结果:['a', 'c', 'd']

弹出列表元素 pop()

pop是栈的标准操作,在这里python提供了这一方法,可以弹出列表中的元素,弹出来的元素可以用变量接收,进一步供业务逻辑使用,而原列表的改变与del删除元素相同,默认每次弹出列表末尾的元素。

word = ['a','b','c','d']
s = word.pop()
print(word)
print(s)
打印结果:['a', 'b', 'c']d

你也可以弹出任意位置的元素

word = ['a','b','c','d']
s = word.pop(0)
print(word)
print(s)
打印结果:['b', 'c', 'd']a

python没有提供push方法,但是我们不管是需要先进先出还是先进后出的数据结构,都可以用 insert + append + pop 三个方法进行组合完成。

根据值删除元素 remove()

如果你知道要删除的值,但是不知道他的下标,那么可以使用remove方法进行删除

word = ['a','b','b','c','d']
word.remove('b')
print(word)
打印结果:['a', 'b', 'c', 'd']

如你所见,remove只能删除第一个值,如果你要删除的值可能在列表中出现多次,那么只能遍历处理。

获取列表长度 len()

word = ['a','b','c']
print(len(word))
打印结果:3

元素在列表中出现的次数 count()

word = ['a','b','b','c','d']
i = word.count('b')
print(i)
打印结果:2

合并列表 extend()

word = ['a','b','b','c','d']
num = [2,3,4]
word.extend(num)
print(word)
打印结果:['a', 'b', 'b', 'c', 'd', 2, 3, 4]

实际上你也可以直接用加号 将两个列表相加

word = ['a','b','b','c','d']
num = [2,3,4]
all = word + num
print(all)
打印结果:['a', 'b', 'b', 'c', 'd', 2, 3, 4]

不同之处是 一个是在原列表上做扩充,一个是新建一个列表进行装载。

2、组织列表

永久性排序 sort()

正序:

word = ['e','b','a','c','d']
word.sort()
print(word)
打印结果:['a', 'b', 'c', 'd', 'e']

倒序:

word = ['e','b','a','c','d']
word.sort(reverse=True)
print(word)
打印结果:['e', 'd', 'c', 'b', 'a']

临时性排序 sorted()

临时性排序不会改变原来的列表,而是sorted方法会返回一个排序后的结果列表。

word = ['e','b','a','c','d']
print(sorted(word))
打印结果:['a', 'b', 'c', 'd', 'e']

同样的  倒序也是加上reverse参数:

word = ['e','b','a','c','d']
print(sorted(word,reverse=True))
打印结果:['e', 'd', 'c', 'b', 'a']

实际上sorted可以传入任何序列,但它总是返回一个列表.

如下演示将一个字符串进行排序

word = 'ebdcgaf'
lis = sorted(word)
print(lis)
print(''.join(lis))
打印结果:['a', 'b', 'c', 'd', 'e', 'f', 'g']abcdefg

反转列表 reverse()

反转列表与排序无关,仅仅是将列表元素反向排列。

word = ['e','b','a','c','d']
word.reverse()
打印结果:['d', 'c', 'a', 'b', 'e']

那如果想要恢复列表怎么办呢? 那就把反转之后的列表再反转,也就恢复了。

想了解更多python知识,请观看视频!!

显示全文