8.python之列表

本文详细介绍了Python中的列表数据结构,包括其定义、作为有序可重复元素集合的特性、如何通过list函数创建列表,以及列表的常用操作如内置成员运算符`in`和`not in`,用于查找最大值和最小值的`max`和`min`函数,计算列表长度的`len`函数。同时,文章讲解了列表的索引和切片操作,如何修改、查找和删除元素,以及这些操作在实际编程中的应用。
摘要由CSDN通过智能技术生成

列表:

  • 列表就是队列
  • 是各种数据类型的集合,也是一种数据结构
  • 是有序的,且内容可重复的集合类型
  • list表示列表类型,可用list内置函数定义一个列表
  • 列表中的元素存在于一个[]中,各元素用逗号隔开
  • 是一个无限制长度的数据结构,但应避免使用超长的列表
  • 列表中的元素可以是任何类型的数据

例:

# 列表的变量,可以使用list也可不用list
a = list([1, "张三", None, [11,22]])
b = [3]

# 打印变量的数据类型
print(type(a))
print(type(b))

结果:
在这里插入图片描述

1.内置成员运算符in:判断列表中是否包含某个成员

  • in :若是列表中包含“张三”,返回True,否则返回False
  • not in :若是列表中不包含“张三”,返回True,否则返回False

例:

a = [1, "张三", None, [11,22]]

# 使用in,判断“张三”是否是列表中的成员
res1 = "张三" in a
res2 = "张三" not in a
print(res1)
print(res2)

结果:
在这里插入图片描述

2.内置函数max和min

  • 函数max:返回数据中最大的成员
  • 函数min:返回数据中最小的成员
  • 中文符号>字母>数字>英文符号
  • 中文按照拼音的首字母来计算
  • max和min在列表中使用的时候,列表中的元素不能是多种类型,如果类型不一致,会报错
  • 列表中的数据为空的话,使用max或者min会报错

例:

a = [3, 5, 9, 2]
b = ["12", "哈哈1", "!"]
c = [1, "11"]

# a和b列表中数据一致,可以正常打印最大或最小成员
print("a列表中最大的成员:",max(a))
print("b列表中最小的成员:",min(b))
# c列表中的数据类型不一致,会报错
print(min(c))

结果:下面的报错是因为列表数据类型不一致
在这里插入图片描述

3.内置函数len–返回数据的长度(数字类型的不可以使用此函数)

例:

a = [3, 5.1, 9, 2, "12", ["哈哈1", "!"]]
b = []

# 使用len函数打印列表长度
print("a列表长度:",len(a))
print("b列表长度:",len(b))

结果:
在这里插入图片描述

4.列表索引与切片

索引:

  • 字符串、列表和元组有索引
  • 从最左边记录的位置就是索引
  • 索引用数字表示,从0开始
  • 最大索引是:它们的长度-1

切片:

  • 索引是对单个元素进行访问,切片则是对一定范围内的元素进行访问
  • 切片通过冒号在中括号内把相隔的两个索引查找出来,例:[0:3]
  • 切片规则:左含,右不含

根据索引对列表进行操作:

  • 根据索引,修改列表的元素:list[index] = new_item,数据的修改只能在存在的索引范围内
  • 查找元素的索引值:list.index(item),item是元素
  • 删除列表的元素,方式一:list.pop(index),有返回值,index是索引,index不存在会报错
  • 删除列表的元素,方式二:del list[index],无返回值,index是索引

注:

  • 元组可以和列表一样获取所有和切片索引
  • 元组函数index和列表用法一致
  • 元组无法通过索引修改和删除元素

例:

a = [1, 2, 3, 4, 5, 6, 7, 8]
print('列表:{}'.format(a))

# 切片
print('列表最大索引是:{}'.format(len(a)-1))  # 最大索引值
print('列表第四个位置的值:{}'.format(a[3]))  # 第四个位置的值
print('列表全部内容:{}'.format(a[:]))  # 全部内容
print('列表全部内容:{}'.format(a[0:]))  # 全部内容
print('除最后一个元素外的其他内容:{}'.format(a[:-1]))  # 除了最后一个元素的其他内容
print('列表倒序:{}'.format(a[::-1]))  # 倒序
print('反向获取列表倒数第二个元素:{}'.format(a[-2:-1]))  # 反向获取
print('从0到8,每隔一个获取的元素:{}'.format(a[0:8:2]))  # 步长获取,从0到8,每2个获取一个
print('空列表:{}'.format(a[0:0]))  # 空列表

# 索引,切片
print('查找元素2的索引:{}'.format(a.index(2)))  # 查找元素2的索引值

a[1] = 'a'  # 修改单个元素
print('修改单个元素:{}'.format(a))
a[1:3] = '二', '三'  # 通过切片,修改多个元素
print('修改多个元素:{}'.format(a))


# 根据索引删除列表中的元素
b = a.pop(0)  #删除第一个元素
print('删除第一个元素{}后:{}'.format(b,a))

del a[-1]  #删除最后一个元素
print('删除最后一个元素后:{}'.format(a))

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值