python中的列表

目录

列表的定义

列表的常用操作

增加元素

函数append()

函数extend()

函数insert()

删除元素

关键字del

函数pop()

函数remove()

修改元素

直接修改

函数reverse()

函数sort()

查找元素

直接查找

函数index()

函数count()

关键字in

关键字not in


列表的定义

在Python中,列表(List) 是一种可变的、有序的数据结构,可以一次性存储多个数据,且可以同时存储不同的数据类型。

语法结构:列表名 = [元素1,元素2,元素3,元素4......]

new_list = [1, 2, 2, 3] #这就是一个列表

列表的常用操作

你,勤奋的勇者,总希望自己能变得更强,不再在冒险中拖队友后腿。你每天清晨早早起床,在村边小树林里跑步、挥剑,汗水浸透了衣襟,却从未有过怨言。最近,你决定更加系统地锻炼自己,于是坐在木桌前,认真地写下训练计划:

增加元素

函数append()

能直接在列表末尾增加元素,执行完后会产生一个结果,可以用变量装起来,返回值为None。

例如,你将一天划分为“上午”、“下午”和“夜晚”三个部分,并在每个部分里写入不同的训练内容:

[”上午“,“体能训练之运送5公里300斤石头”,“体能训练之100公里来回跑”]

目前你只完成了上午的部分,意识到需要增加下午和夜晚的训练时段,并打算下午进行剑术基础训练3000次,夜晚进行魔法冥想入门。

思路:append()函数可以在列表末尾一次添加一个元素,保持训练计划的连贯性以及确保新的项目能按照时间顺序添加。

training_plan = ["上午", "体能训练之运送5公里300斤石头", "体能训练之100公里来回跑"]
training_plan.append("下午")
training_plan.append("剑术基础训练3000次")
training_plan.append("夜晚")
training_plan.append("魔法冥想入门")
print(f"添加训练内容后的训练计划是{training_plan}")

对代码进行运行测试:

函数extend()

能直接在列表末尾增加元素,若为序列,则会把序列里的元素逐个加入列表中;extend()函数里的参数必须是一个序列类型的数据,非序列数据类型参数会报错,执行完后会产生一个结果,可以用变量装起来,返回值为None。

例如,周末将至,为了全面提升身体素质,你决定增加专项训练,于是你打算在夜晚再添一次抗寒训练和一次抗毒训练。

思路:extend()函数能够一次性添加多个训练项目,提高效率。

training_plan = ['上午', '体能训练之运送5公里300斤石头', '体能训练之100公里来回跑', '下午', '剑术基础训练3000次', '夜晚', '魔法冥想入门']
extend_plan = ["抗寒训练", "抗毒训练"]
training_plan.extend(extend_plan)
print(f"添加训练内容后的训练计划是:{training_plan}")

对代码进行运行测试:

函数insert()

能选择下标位置对列表进行元素插入操作,insert()函数第一个参数如果超出列表本身的长度时,插入到列表末尾,插入成功和插入失败的返回值都是None。

例如,村长建议你在下午的训练时间添加抗打击训练2小时,但由于高强度训练需要休息,所以让你在下午在前午休1小时。

思路:insert()函数可以在指定位置插入新项目,不影响其他训练安排。

training_plan = ['上午', '体能训练之运送5公里300斤石头', '体能训练之100公里来回跑', '下午', '剑术基础训练3000次', '夜晚', '魔法冥想入门', '抗寒训练', '抗毒训练']
training_plan.insert(5, "抗打击训练2小时")
training_plan.insert(3, "午休1小时")
print(f"添加训练内容后的训练计划是:{training_plan}")

对代码进行运行测试:

删除元素

关键字del

能够通过索引下标直接对指定元素进行删除。

语法结构:del 列表名[下标]

例如,经过你的评估,发现午休时间过长影响训练节奏,而且运送石头的训练效果不佳,于是打算将这两个从训练计划中移除。

思路:使用关键字del能够直接根据索引删除特定位置的训练项目。

training_plan = ['上午', '体能训练之运送5公里300斤石头', '体能训练之100公里来回跑', '午休1小时', '下午', '剑术基础训练3000次', '抗打击训练2小时', '夜晚', '魔法冥想入门', '抗寒训练', '抗毒训练']
del training_plan[3]
del training_plan[1]
print(f"删除训练内容后的训练计划是:{training_plan}")

对代码进行运行测试:

函数pop()

pop()函数在默认情况下会删除最后一个元素,如果给定下标,则会删除指定下标的元素,执行完后会产生一个结果,可以用变量装起来,返回值是被删除的元素。

例如,经历多个月的训练后,你发现基础剑术训练和魔法冥想入门课程都已达到要求,所以打算将这两个进行移除。

思路:pop()函数可以在删除的同时获取被删除的项目,方便记录训练进度。

training_plan = ['上午', '体能训练之100公里来回跑', '下午', '剑术基础训练3000次', '抗打击训练2小时', '夜晚', '魔法冥想入门', '抗寒训练', '抗毒训练']
removed_training = training_plan.pop(3)
completed_magic = training_plan.pop(5) #当目标元素之前的元素被删除时,列表元素数量-1,目标元素向前移一位
print(f"移除的训练项目:{removed_training}和{completed_magic}")
print(f"删除训练内容后的训练计划是:{training_plan}")

对代码进行运行测试:

函数remove()

remove()函数会直接删除第一个与指定内容相同的元素。

例如,你的抗寒抗毒特训均已完成,打算将这个两个训练内容从计划中删除。

思路:remove()函数能够通过指定内容直接删除训练项目。

training_plan = ['上午', '体能训练之100公里来回跑', '下午', '抗打击训练2小时', '夜晚', '抗寒训练', '抗毒训练']
training_plan.remove("抗寒训练")
training_plan.remove("抗毒训练")
print(f"删除训练内容后的训练计划是:{training_plan}")

对代码进行运行测试:

修改元素

直接修改

能够通过索引下标直接对指定元素进行修改。

语法结构:列表名[下标] = 新值

例如,经过这次训练后,你发现体能训练强度需要提升,需要把体能训练之100公里来回跑改为体能训练之200公里来回跑,并打算将抗打击训练2小时改为极限生存挑战赛。

思路:该语法能直接通过索引精确修改特定训练项目。

training_plan = ['上午', '体能训练之100公里来回跑', '下午', '抗打击训练2小时', '夜晚']
training_plan[1] = "体能训练之200公里来回跑"
training_plan[3] = "极限生存挑战赛"
print(f"修改训练内容后的训练计划是:{training_plan}")

对代码进行运行测试:

函数reverse()

reverse()函数能将列表的元素位置的顺序倒过来,执行完后会产生一个结果,可以用变量装起来,返回值为None。

例如,直接将你的计划表进行函数测试看看效果。

training_plan = ['上午', '体能训练之200公里来回跑', '下午', '极限生存挑战赛', '夜晚']
training_plan.reverse()
print(f"颠倒的训练计划是:{training_plan}")
training_plan.reverse()
print(f"再次颠倒的训练计划是:{training_plan}")

对代码进行运行测试:

函数sort()

sort()函数会直接按照默认规则(数字从小到大,字母从a到z)进行有序排序。

例如,你的体重在训练过程中出现以下变化:

[150,148,144,138,142,143,146,144]

现在将该记录进行默认规则排序。

weight = [150,148,144,138,142,143,146,144]
weight.sort()
print(f"进行默认规则排序后的体重是:{weight}")

对代码进行运行测试:

查找元素

直接查找

能够通过索引下标直接对指定元素进行查找。

语法结构:列表名[下标]

例如,直接查看下午的具体训练目标。

training_plan = ['上午', '体能训练之200公里来回跑', '下午', '极限生存挑战赛', '夜晚']
print(f"下午的训练安排是:{training_plan[3]}")

对代码进行运行测试:

函数index()

能够获取指定元素在列表中的第一个位置,若指定元素在列表中不存在会报错。

例如,查看夜晚的位置。

training_plan = ['上午', '体能训练之200公里来回跑', '下午', '极限生存挑战赛', '夜晚']
print(f"夜晚的下标是:{training_plan.index('夜晚')}")

对代码进行运行测试:

函数count()

能够统计指定元素在列表中出现的次数。

例如,统计下午出现的次数。

training_plan = ['上午', '体能训练之200公里来回跑', '下午', '极限生存挑战赛', '夜晚']
print(f"下午出现的次数是:{training_plan.count('下午')}")

对代码进行运行测试:

关键字in

能够判断列表中是否包含指定元素,若包含,返回值为True,否则返回值为False。

例如,检查训练计划是否包含抗寒训练。

training_plan = ['上午', '体能训练之200公里来回跑', '下午', '极限生存挑战赛', '夜晚']
print(f"训练计划是否包含抗寒训练:{'抗寒训练' in training_plan}")

对代码进行运行测试:

关键字not in

能够判断列表中是否不包含指定元素,若不包含,返回值为True,否则返回值为False。

例如,检查训练计划是否不包含体能训练之100公里来回跑。

training_plan = ['上午', '体能训练之200公里来回跑', '下午', '极限生存挑战赛', '夜晚']
print(f"训练计划是否不包含体能训练之100公里来回跑:{'体能训练之100公里来回跑' not in training_plan}")

对代码进行运行测试:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值