专业编程基础技术教程

网站首页 > 基础教程 正文

python数据类型-列表(list)(python数据类型 列表)

ccvgpt 2024-07-17 17:58:07 基础教程 30 ℃

python中列表是最常用的数据类型之一,由多个元素组成的集合,每个元素都有一个位置或者叫索引,索引的值从0开始,往后顺序递推,最大值为列表长度-1

例如

python数据类型-列表(list)(python数据类型 列表)

aa = [1, 2, 3, 4, 5]

print(aa[0])  # 1
print(aa[1])  # 2
print(aa[2])  # 3

常用方法

索引、切片

#  索引 切片
l = ['a', 'b', 'c', 'd', 'e', 'f']
# 优先掌握部分
print(l[1:5])
print(l[1:5:2])
print(l[2:5])
print(l[-1])
"""
['b', 'c', 'd', 'e']
['b', 'd']
['c', 'd', 'e']
f
"""
# 了解
print(l[-1:-4])
print(l[-4:-1])
print(l[-4:])
l = ['a', 'b', 'c', 'd', 'e', 'f']
print(l[-2:])
"""
[]
['c', 'd', 'e']
['c', 'd', 'e', 'f']
['e', 'f']
"""

追加元素append()

hobbies = ['play', 'eat', 'sleep', 'study']
hobbies.append('girls')
print(hobbies) # ['play', 'eat', 'sleep', 'study', 'girls']

删除元素

pop()

如果pop()里面没加参数 则默认删除最后一个元素

hobbies = ['play', 'eat', 'sleep', 'study', 'run', "girl"]
x = hobbies.pop(1)  # 不是单纯的删除,是删除并且把删除的元素返回,我们可以用一个变量名去接收该返回值
print(x)
print(hobbies)

x = hobbies.pop(0)
print(x)

x = hobbies.pop(0)
print(x)

x = hobbies.pop()
print(x)
"""
eat
['play', 'sleep', 'study', 'run', 'girl']
play
sleep
girl
"""

del

del和pop() 不一样, 他没有返回值,只是单纯的将参数里面索引对应的元素从列表里面删除

这种删除方式不光在列表中有用,在后面的元组和字典里也是有用的

hobbies = ['play', 'eat', 'sleep', 'study']
del hobbies[1]  # 单纯的删除
print(hobbies)  # ['play', 'sleep', 'study']

remove()

remove()参数是具体的元素值,不是索引,也没有返回值

hobbies = ['play', 'eat', 'sleep', 'study']
hobbies.remove('eat')  # 单纯的删除,并且是指定元素去删除
print(hobbies)  # ['play', 'sleep', 'study']

用append()和pop()队列和堆栈

队列:是一种数据结构,其特点是先进先出,就和排队一样,排在最前面的人优先买到东西

堆栈: 是一种数据结构,其特点是后进先出,就和往桶里面放东西一样,最后放进去的,往往是最先拿出来

# 队列:先进先出
queue_l = []
# 入队
queue_l.append('first')
queue_l.append('second')
queue_l.append('third')
print(queue_l)  # ['first', 'second', 'third']
# 出队
print(queue_l.pop(0))  # first
print(queue_l.pop(0))  # second
print(queue_l.pop(0))  # third
# 堆栈:先进后出,后进先出
l = []
# #入栈
l.append('first')
l.append('second')
l.append('third')
# #出栈
print(l)  # ['first', 'second', 'third']
print(l.pop())  # third
print(l.pop())  # second
print(l.pop())  # first

计算列表的长度

hobbies=['play','eat','sleep','study']
print(len(hobbies))  # 4

列表是否包含某个元素

对于字符串来说也是可以的

#     包含in
hobbies = ['play', 'eat', 'sleep', 'study']
print('sleep' in hobbies)  # True

msg = 'hello world sz'
print('sz' in msg)  # True

插入元素insert()

hobbies = ['play', 'eat', 'sleep', 'study', 'eat', 'eat']
hobbies.insert(1, 'walk')
print(hobbies)
hobbies.insert(1, ['walk1', 'walk2', 'walk3'])
print(hobbies)
"""
['play', 'walk', 'eat', 'sleep', 'study', 'eat', 'eat']
['play', ['walk1', 'walk2', 'walk3'], 'walk', 'eat', 'sleep', 'study', 'eat', 'eat']
"""

统计个数count()

hobbies = ['play', 'eat', 'sleep', 'study', 'eat', 'eat']
print(hobbies.count('eat'))  # 3

列表合并extend()

list1.extend(list2) 将list2中的元素从list1的末尾添加上list1中

hobbies = ['play', 'eat', 'sleep', 'study', 'eat', 'eat']
hobbies.extend(['walk1', 'walk2', 'walk3'])
print(hobbies)  
# ['play', 'eat', 'sleep', 'study', 'eat', 'eat', 'walk1', 'walk2', 'walk3']

获取某个元素的索引index()

如果列表中有当前元素,则返回当前元素第一次出现的索引
如果列表中没有当前元素,没有就报错
hobbies = ['play', 'eat', 'sleep', 'study', 'eat', 'eat']
print(hobbies.index('eat'))  # 1
print(hobbies.index('girl'))  # 报错

清空元素clear()

hobbies = ['play', 'eat', 'sleep', 'study', 'eat', 'eat']
hobbies.clear()
print(hobbies)  # []

列表拷贝copy()

列表拷贝属于浅拷贝, 修改列表里面的元素会相互影响,切记,这里不展开说,后面会详细说

hobbies = ['play', 'eat', 'sleep', 'study', 'eat', 'eat']
l = hobbies.copy()  # ['play', 'eat', 'sleep', 'study', 'eat', 'eat']
print(l)


列表反转reverse()

l = [1, 2, 3, 4, 5]
l.reverse()
print(l)  # [5, 4, 3, 2, 1]

列表排序sort()

l = [100, 9, -2, 11, 32]
l.sort()
print(l)  # [-2, 9, 11, 32, 100]

l = [1, 4, 5, 2, 6]
l.sort(reverse=True)
print(l)  # [6, 5, 4, 2, 1]

Tags:

最近发表
标签列表