笔记:Python列表的基础操作

数据容器

在编程中,数据容器是一种用于存储多个元素的数据结构。Python中有多种数据容器,常见的包括列表(list)、元组(tuple)、字符串(str)、集合(set)和字典(dict)。每种容器都有其特定的用途和特性。

常见的数据容器及其表示方式

  • 列表(list):使用中括号 [] 表示,例如:[元素1, 元素2, 元素3, ...]
  • 元组(tuple):使用小括号 () 表示,例如:(元素1, 元素2, 元素3, ...)
  • 字符串(str):使用单引号、双引号、三引号(单或双)表示,例如:'内容'"内容"'''内容'''"""内容"""。注意,字符串中的每个字符也被视为一个元素。
  • 集合(set):使用大括号 {} 表示,例如:{元素1, 元素2, 元素3, ...}
  • 字典(dict):使用大括号 {} 表示,包含键值对,例如:{key1: value1, key2: value2, ...}。每个键值对都是一个元素。

方法和函数对比

在Python中,有两个主要的代码执行单元:方法函数。方法本质上是函数,但它们位于类(class)中。可以将方法视为属于特定类的函数。虽然方法一定是函数,但并不是所有函数都是方法。

示例:
# 生成随机数
# 自己不会写这个功能,而且Python已经提供了,拿过来用
import random

num = random.randint(1, 10)
print(num)


# 定义一个计算两个数和的函数
def get_sum(a, b):
    return a + b


he = get_sum(1, 10)
print(he)

"""
方法: 本质是一个函数,只是这个函数放到class xxx 类中
上述random中的randint本质是一个函数,一般称之为方法
自己写的get_sum就是一个函数
"""

列表的定义

空列表和非空列表

空列表

空列表可以通过以下方式定义:

  • 列表名 = []
  • 列表名 = list()
非空列表

非空列表可以通过以下方式定义:

  • 列表名 = [元素1, 元素2, 元素3, ...]

列表还支持嵌套,即在一个列表中包含另一个列表。

示例:
# 定义空列表
list1 = []
print(list1)
list2 = list()
print(list2)

# 定义非空列表
list3 = ['a', 'b', 'c']
print(list3)

# 列表的嵌套
class1_list = ['张三', '李四', '王五']
print(class1_list)
class2_list = ['赵六', '田七', '周八']
print(class2_list)
school_list = [class1_list, class2_list]
print(school_list)

列表的下标索引

下标索引

列表中的元素可以通过下标索引来访问,索引就是元素的编号,它们有以下特点:

  • 正索引:从0开始,从左到右递增。
  • 负索引:从-1开始,从右到左递减。

根据下标索引,可以查找和访问列表中的元素,格式为 列表名[索引]

示例:
# 下标索引:就是列表中每个元素的编号
# 需求1: 定义列表存储5个学生姓名
name_list = ['张三', '李四', '王五', '赵六', '田七']

# 需求2:查找第一个列表中第一个姓名
name = name_list[0]
print(name)
# 当然也可以使用负索引查找
print(name_list[-5])

# 需求3: 查找最后一个姓名
print(name_list[-1])
# 当然也可以使用正索引查找
print(name_list[4])

# 需求4: 查找索引为2位置的姓名
print(name_list[2])

列表的增删改查

增加元素

  • 列表名.append(元素): 把指定元素追加到列表中
  • 列表名.extend(容器): 把指定容器中每个元素取出,依次放到当前列表中
  • 列表名.insert(索引,元素): 把指定元素插入到列表指定索引位置
示例:
# 添加元素
name_list = []

# 需求: 依次添加'张三', '张三', '李四'到列表中
name_list.append('张三')
name_list.append('张三')
name_list.append('李四')
print(name_list)

# 需求: 一次性添加'王五', '赵六', '田七'到列表中
name_list.extend(['王五', '赵六',田七'])
print(name_list)

删除元素

  • del 列表名[索引]: 把指定索引位置的元素删除
  • 列表名.pop(索引): 把指定索引位置的元素删除
  • 列表名.remove(元素): 把指定元素直接删除
  • 列表名.clear() : 清空当前列表
  • del 列表名: 删除当前列表
示例:
# 删除元素
name_list = ['张三', '李四', '王五', '赵六', '田七']

# 删除第一个元素
del name_list[0]
print(name_list)

# 删除最后一个元素
name_list.pop(-1)
print(name_list)

# 删除指定元素
name_list.remove('张三')
print(name_list)

# 清空列表
name_list.clear()
print(name_list)

# 删除整个列表
del name_list
print(name_list)# 报错说明删除成功,NameError: name 'name_list' is not defined

修改元素

  • 可以通过索引将列表中的元素修改为新的值,格式为 列表名[索引] = 新元素
示例:
# 修改元素
name_list = ['张三', '李四', '王五']

# 修改最后一个元素内容为'钱九'
name_list[-1] = '钱九'
print(name_list)

查找元素

  • 列表名[索引]:查找指定索引位置上的元素。
  • 列表名.count(元素):查找指定元素在列表中出现的次数。
  • 列表名.index(元素):查找指定元素在列表中的索引位置。注意:如果元素不存在,会抛出 ValueError 异常。
  • len(列表名):查询当前列表中所有元素的总个数。
示例:
# 查找元素
name_list = ['张三', '李四', '王五', '张三', '赵六']

# 查询'张三'在列表中个数
print(name_list.count('张三'))

# 查询'王五'的索引
print(name_list.index('王五'))

# 注意: index 方法如果查询的元素不存在会报错
# print(name_list.index('周一'))  # 报错:ValueError: '周一' is not in list

# 查询列表中元素个数
print(len(name_list))

列表的遍历

for 循环遍历

使用 for 循环可以遍历列表中的所有元素,格式为 for 元素名 in 列表:

while 循环遍历

使用 while 循环同样可以遍历列表中的元素,核心思想是利用一个索引变量作为列表的索引,使用 while 循环控制。

示例:
# 遍历列表
name_list = ['张三', '李四', '王五']

# 使用 for 循环遍历
for element in name_list:
    print(element)

print('-----------------------------')

# 使用 while 循环遍历(前提是要有索引)
# 核心思想:利用 while 中的变量作为列表的索引使用
# 1. 定义初始变量
index = 0
# 2. 条件判断
while index < len(name_list):
    # 3. 循环体
    # 根据索引去列表中找对应的元素并打印
    element = name_list[index]
    print(element)
    # 4. 条件控制
    index += 1

附:

添加元素相关单词:
    append:附加
    extend:扩展
    insert:插入
查询元素相关单词:
    count: 计数
    index: 索引
    length: 长度
删除元素相关单词
    delete:删除
    pop : 弹出
    remove:移除
    clear: 清空

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值