append、appext、insert,在某位置插入insert最在行。
(笔记模板由python脚本于2024年12月04日 19:41:46创建,本篇笔记适合python基础编程的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室

本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/article/details/144250910
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ python数组增加元素
-
- 一、题目描述
- 二、算法解析
-
- 2.1 任务分解:
- 2.2 Python 代码实现
- 2.3 代码解释
- 2.4 示例运行
- 三、题解
-
- 3.1 示例题解
- 3.2 精细题解
- 四、完整源码(Python)
◆ python数组增加元素
一、题目描述
题目描述截屏图片
这是一道C++小题,在问答社区看到,怪手痒痒的,用仅会的python基础来拆解拆解——
二、算法解析
根据题目描述,我们需要编写一个Python程序来模拟班级中新同学的座位安排。
以下是详细的步骤和代码分析:
2.1 任务分解:
-
输入处理:
- 读取班级总人数
n
。 - 读取当前班级中每位同学的学号列表。
- 读取新同学的学号。
- 读取两个整数
p
和q
,表示新同学的位置关系。
- 读取班级总人数
-
逻辑处理:
- 根据输入的
p
和q
,确定新同学在班级中的具体位置。 - 如果
p
为 1,新同学坐在第q
个同学的前面。 - 如果
p
不为 1,新同学坐在第q
个同学的后面。
- 根据输入的
-
输出处理:
- 输出新同学安排好后,班级中每位同学的学号列表。
2.2 Python 代码实现
python脚本
# 读取输入
n = int(input()) # 班级总人数
current_students = list(map(int, input().split())) # 当前班级中每位同学的学号
new_student_id = int(input()) # 新同学的学号
p, q = map(int, input().split()) # 两个整数 p 和 q
# 根据输入的 p 和 q 确定新同学的位置
if p == 1:
# 新同学坐在第 q 个同学的前面
new_position = q - 1
else:
# 新同学坐在第 q 个同学的后面
new_position = q
# 在指定位置插入新同学的学号
current_students.insert(new_position, new_student_id)
# 输出结果
print(' '.join(map(str, current_students)))
2.3 代码解释
- 输入处理:使用
input()
函数读取输入,并通过map(int, input().split())
将字符串转换为整数列表。 - 逻辑处理:根据
p
和q
的值,使用insert()
方法将新同学的学号插入到列表中的指定位置。 - 输出处理:使用
print()
函数输出最终的学号列表,通过' '.join(map(str, ...))
将列表转换为以空格分隔的字符串。
2.4 示例运行
假设输入为:
5
7 1 3 14 5
56
0 2
则输出为:
7 1 56 3 14 5
解释:p
为 0,q
为 2,新同学学号 56
插入到第 2 个同学 1
的后面,所以最终学号列表为 7 1 56 3 14 5
。
三、题解
3.1 示例题解
#!/usr/bin/env python3
date = '''5
7 1 3 14 5
56
0 2''' # 输出 7 1 56 3 14 5
print(
f"\n\n{
' 数组增加元素 ':*^36}"
f"\n\n输入样例:\n{
date}")
# 数据梳理 #
date = date.split('\n')
n = int(date[0]) # 班级同学人数0 < n < 60
students = list(map(int, date[1].split())) # 班级同学列表(学号列表)
new_stu = int(date[2])
p, q = map(int, date[-1].split()) # p,新同学排位前后“开关”;q,新同学排位入口
print(
f"\n数据梳理:"
f"\n{
n = }\n{
students = }"