python常用数据结构-list列表

本文介绍了Python列表的基础概念,如定义、动态性和异构性,展示了通过构造函数、中括号和列表推导式创建列表的方法。随后深入讲解了列表索引、切片、运算符、成员检测,以及常用的列表方法如append(), extend(), insert(), pop(), remove(), sort()和reverse()。此外,还讨论了列表嵌套和列表推导式的应用。
摘要由CSDN通过智能技术生成

list 列表

列表的定义与使用

1、列表是有序的可变元素的集合,使用中括号 [ ] 包围,元素之间用逗号分隔

2、列表是动态的,可以随时扩展和收缩

3、列表是异构的,可以同时存放不同类型的对象

4、列表中允许出现重复元素

创建列表:

通过构造函数创建

中括号创建并填充

列表推导式

 

# 1、通过构造函数
a = list()
print(type(a))
# 2、中括号填充元素[]
b = [1, 2, 3, "happy"]
print(b)
print(type(b))
# 3、 列表推导式
c = [i for i in range(1, 3)]
print(c)
print(type(c))

 

列表使用:索引

--默认正向索引,编号从0开始。

--支持反向索引,编号从-1开始

# 列表索引
a = [1, 2, 3, 4, "happy"]
# 正向索引,从0开始
print(a[0])
print(a[1])
# 反向索引。从-1开始
print(a[-1])
print(a[-2])

 

列表使用:切片[start:stop:step]

--star值:指示开始索引值,如果没有指定,则默认开始值为0

--stop值:指示到哪个索引值结束,但不包括这个结束索引值,如果没有指定,则取列表允许的最大索引值

--step值:步长值指示每一步大小,如果没有指定,则默认步长值为1

三个值都是可选的,非必填

# 列表切片
a = [1, 2, 3, 4, "happy"]
print(a[1:3:1])
print(a[-3:-1])
print(a[::1])
print(a[::2])
print(a[::-1])

 

列表使用:运算符

--重复:使用 “x” 乘号运算符,可以重复生成列表元素

--合并:使用 “+” 加号运算符,可以将两个列表合二为一

# 列表使用:运算符
# 1、 乘号
a = [1]
print(a * 5)
# 2、加号
a = [1, 2, 3]
b = [4, 5, 6]
print(a + b)

 

列表使用:成员检测

in: 检查一个对象是否在列表中,如果在则返回True,否则返回False.

not in:检查一个列表是否不包含某个元素。如果不在返回True,否则返回False.

# 列表使用:成员检测
# in: 检查一个对象是否在列表中,如果在则返回True,否则返回False.
a = [1, 2, 3]
print(1 in a)
print(10 in a)
# not in:检查一个列表是否不包含某个元素。如果不在返回True,否则返回False.
a = [1, 2, 3]
print(1 not in a)
print(10 not in a)

 列表方法

列表方法 append()

append(item):将一个对象item添加到列表的末尾。

入参:对象item

返回:None

# append()
# append(item):将一个对象item添加到列表的末尾。
# 入参:对象item
# 返回:None
a = [1]
a.append(2)
print(a)
a.append('happy')
print(a)

 列表方法extend()

extend(iterable):将一个可迭代对象的所有元素,添加到列表末尾。

入参:可迭代对象iterable

返回:None

# 列表方法extend()
# extend(iterable):将一个可迭代对象的所有元素,添加到列表末尾。
# 入参:可迭代对象iterable
# 返回:None
a = [1]
a.extend('happy')
print(a)

 

列表方法insert()

insert(index,item):将一个对象插入到指定的索引位置

入参:索引值index,一个对象item

返回:None

原索引位置及后面的元素后移一位

# 列表方法insert()
# insert(index,item):将一个对象插入到指定的索引位置
# 入参:索引值index,一个对象item
# 返回:None
# 原索引位置及后面的元素后移一位
a = [1, 2]
a.insert(1, 3)
print(a)

 

列表方法pop()

pop(index)或pop()

弹出并返回所指定索引的元素

入参:索引值index.可不传

返回:指定索引的元素

返回:未指定索引则返回末尾元素

如果索引值不正确,或者列表已经为空,则引发IndexError错误

 

# 列表方法pop()
# pop(index)或pop()
# 弹出并返回所指定索引的元素
# 入参:索引值index.可不传
# 返回:指定索引的元素
# 返回:未指定索引则返回末尾元素
# 如果索引值不正确,或者列表已经为空,则引发IndexError错误
a = [1, 2, 3]
b = a.pop(1)
print(a)
print(b)
c = a.pop()
print(a)
print(c)

 

列表方法remove()

remove(item)

移除列表中第一个等于item的元素

入参:指定元素item

返回:None

目标元素必须存在,否则会报ValueError

 

# 列表方法remove()
# remove(item)
# 移除列表中第一个等于item的元素
# 入参:指定元素item
# 返回:None
# 目标元素必须存在,否则会报ValueError
a = [1, 2, 1, 3]
print(a.remove(1))
print(a)
a.remove(2)
print(a)

列表方法sort()

sort(key=None, reverse=False)

对列表进行原地排序,只使用

入参:支持2个关键字参数:

key:指定带有一个参数的函数,用于从每个列表元素中提取比较键。

reverse:默认值为False表示升序,为True表示降序

返回:None

 

# 列表方法sort()
# sort(key=None, reverse=False)
# 对列表进行原地排序,只使用<来进行各项间比较
# 入参:支持2个关键字参数:
#        key:指定带有一个参数的函数,用于从每个列表元素中提取比较键。
#        reverse:默认值为False表示升序,为True表示降序
# 返回:None

# 不传参数,默认升序,数字从小到大排列
a = [1, 4, 2, 3, 6]
a.sort()
print(a)
# 指定key=len,按元素的长度排列
b = ['happy', 'root', 'lucky', 'a']
b.sort(key=len)
print(b)
# 指定reverser=True
a.sort(reverse=True)
print(a)

 

列表方法reverse()

reverser():将列表中的元素顺序反转

参数:无

返回:None 

反转只是针对索引值,元素之间不相互比较

# 列表方法reverse()
# reverser():将列表中的元素顺序反转
# 参数:无
# 返回:None
# 反转只是针对索引值,元素之间不相互比较
a = [1, 2, 5, 4, 6, 7, 'happy']
a.reverse()
print(a)

 

列表嵌套

嵌套列表是指在列表里存在列表

列表的常用方法都适用于嵌套列表

# 列表嵌套
# 嵌套列表是指在列表里存在列表
# 列表的常用方法都适用于嵌套列表

# 嵌套列表
a = [[1, 2], ['happy', 'lucky']]
print(a[1])
print(a[1][1])

 

列表推导式

列表推导式是指循环创建列表,相当于for循环创建列表的简化版

语法:[x for x in a if x >1 ]

 

# 列表推导式
# 列表推导式是指循环创建列表,相当于for循环创建列表的简化版
# 语法:[x for x in a if x >1 ]
a = [0, 1, 2, 3, 4]
b = [x for x in a if x > 1]
print(b)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值