Python列表

本文详细介绍了Python中列表的基础概念,如定义、元素类型、操作方法(查找、增加、删除、修改),以及列表嵌套和列表推导式的使用。涵盖了下标查找、函数查找、数据插入、删除与替换、列表排序、连接以及列表推导式的实战应用。
摘要由CSDN通过智能技术生成

使用场景:列表是用来存储多组数据的
列表是可变类型
列表支持切片

1.基本规则

1.列表使用[]来表示
2.初始化列表:list = []
3.列表可以一次性存储多个数据:[数据1,数据2,数据3,…]
4.列表中的每一项,都能是不同的数据类型。(包括列表)
示例:

#列表的元素多种多样(指类型)
test_list = [1,'a',[1,2],{"name":"刘备"},{2,3},(1,2,"李四")]
#列表的输出
names_list = ['刘备','曹操','孙权']
print(names_list[0])
print(names_list[1])
print(names_list[2])
print(names_list)

2.常用操作

2.1查找

2.1.1 下标查找
name_list=['tom','lily','rose']
print(name_list[0]) # tom
2.1.2 函数(方法)查找

index()::返回指定数据所在位置的下标
语法:列表序列.index(数据,开始位置的下标,结束位置的下标)
注意:如果查找的数据不存在则报错

name_list = ['tom','lily','rose']
print(name_list.index('tom')) # 0

count():统计指定数据在当前列表中出现的次数

name_list=['tom','lily','rose']
print(name_list.count('tom')) # 1

len():可以获取列表的长度,即列表中数据的个数

name_list=['tom','lily','rose']
print(len(name_list)) # 3
2.1.3 判断是否存在

in:判断指定的数据在某个列表序列,如果在返回True,否则返回False

name_list=['tom','lily','rose']
print('lily'in name_list) #True
print('yao' in name_list) #False

not in :判断指定的数据不在某个列表序列,如果不在返回True,否则返回False

name_list=['tom','lily','rose']
print('tom' not in name_list) # False
print('yaoyao' not in name_list) #True

2.2 增加

append():列表尾部追加数据
语法:列表序列.append(数据)

name=['tom','lily','rose']
name.append('xiaoming')
print(name)#['tom','lily','rose','xiaoming']

注意:如果append()追加的数据是一个序列,则追加整个序列到列表,整体新增一个元素。

name_list = ['tom','lily','rose']
name_list.append(['xiaoming','xiaohong'])
print(name_list)
# 结果:['tom', 'lily', 'rose', ['xiaoming', 'xiaohong']]

extend(): 列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一加入列表中(与append对比)
语法:列表序列.extend(数据)

#单个数据,迭代进行插入
name_list1 = ['tom','lily','rose']
name_list1.extend('abc')
print(name_list1)#['tom', 'lily', 'rose', 'a', 'b', 'c']
#序列数据,迭代进行插入
name_list2 = ['tom','lily','rose']
name_list2.extend(['a','b','c'])
print(name_list2)#['tom', 'lily', 'rose', 'a', 'b', 'c']

insert(): 指定位置新增数据
语法:列表序列.insert(位置下标,数据)

name_list = ['tom','lily','rose']
name_list.insert(0,'yaoyao')
print(name_list)
# 结果:['yaoyao', 'tom', 'lily', 'rose']

2.3删除

del
语法:del 目标


#删除一个元素
name_list = ['tom','lily','rose']
del name_list[0]
print(name_list)#['lily','rose']
#删除整个列表
del name_list
print(name_list)#NameError: name 'name_list' is not defined,因为删除了,print找不到name_list,所以报错

remove()

name_list = ['tom','lily','rose']
del_name = name_list.remove("tom") #
print(name_list)#['lily','rose']

pop():删除指定下标的数据(默认为最后一个),并返回该数据
语法:列表.pop(index)

name_list = ['tom','lily','rose']
del_name = name_list.pop(0) # 返回的是被删除的元素
print(del_name)   #tom
print(name_list)#['lily', 'rose']
# 不加索引,默认删除最后一个元素
name_list.pop()
print(name_list)#['lily']

clear():清空列表

name_list = ['tom','lily','rose']
name_list.clear() #清除列表里面的所有元素
print(name_list)# 结果是[]

2.4修改

修改指定下标数据:

name_list = ['tom','lily','rose']
name_list[0]='yaoyao'
name_list[2]="yaoyao"
print(name_list)#['yaoyao', 'lily', 'yaoyao']

返回数据在列表中的索引:

name_list = ['tom','lily','rose']
print(name_list.index("tom"))#0

逆转:reverse()

name_list=['tom','lily','rose']
name_list.reverse()
print(name_list)# ['rose', 'lily', 'tom']

排序:sort()
语法:列表.sort(key=None,reverse=False)
注意:reverse表示排序规则,reverse=True 降序,reverse=False 升序(默认)

name_list=[1,7,3,2,8]
name_list.sort()
print(name_list)# [1, 2, 3, 7, 8]

连接:join关键字
语法:分隔符.join(元组和列表) -----把列表和元组转换成字符串
注意:只能够用在存储字符串类型的列表或元组

name_list = ['tom','lily','rose']
print(' '.join(name_list))#tom lily rose
print('*'.join(name_list))#tom*lily*rose

3.列表嵌套

应用场景:要存储高三三个班级的学生名字,每个班级的学生名字为一个列表

name_list = [['xiaoming','xiaohong','xiaoli'],['tom','lily','rose'],['小李','小
杨','小张']]
#如何查找到数据"小李"
print(name_list[2][0])

4.列表推导式

作用:列表推导式:使用一行代码简单快速的创建一个列表。

# 生成一个列表
num_list = [value for value in range(1, 4)]#value 就是往列表中插入的值,可对value 再进行操作
print(num_list)#[1,2,3]
# 对列表中的数据进行过滤
data_list = [1, 9, 2, 10]
new_list = [value for value in data_list if value % 2 == 0]
print(new_list)#[2,10]
new_list2 = [str(value) for value in data_list if value % 2 == 0]
print(name_list2)#['2','10']
print(' '.join(name_list2))
# 字符串转列表,每个元素复制成两份
info_str = "abc"
new_str = [value * 2 for value in info_str]
print(new_str)#['aa', 'bb', 'cc']
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力码代码的小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值