python数组增加元素
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/
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ python数组增加元素
- 一、题目描述
- 二、算法解析
- 2.1 任务分解:
- 2.2 Python 代码实现
- 2.3 代码解释
- 2.4 示例运行
- 三、题解
- 3.1 示例题解
- 3.2 精细题解
- 四、完整源码(Python)
◆ python数组增加元素
一、题目描述
题目描述截屏图片
【题目来源于 CSDN 问答社区提问“问题标题”】
这是一道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 python3date = '''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 = }"f"\n{new_stu = }\n{p = }, {q = }")# 新同学排位 #
new_index = q-1 if p == 1 else q # 确认新同学排位入口
print(f"\n{new_index = }")
students.insert(new_index, new_stu) # 新同学排位(list插入,list.insert方法是在index之前插入,就“抵消”list元素对象从0起index。所以,直接new_stu插入)
students = ' '.join(map(str, students))
print(f"\n输出:"f"\n{students = }"f"\n\n{'':=^42}")
效果截屏
这个题解直接处理了一个硬编码的字符串 date
,该字符串包含了班级同学的人数、现有同学的学号列表、新同学的学号以及新同学插入位置的参数 p
和 q
。
-
数据梳理:
- 首先将输入的字符串按照换行符分割成列表。
- 提取班级同学人数
n
和现有同学的学号列表students
。 - 提取新同学的学号
new_stu
。 - 提取参数
p
和q
,其中p
决定新同学是插入到q
指定的位置之前还是之后,q
是新同学的入口位置。
-
新同学排位:
- 根据
p
的值确定新同学的插入位置new_index
。如果p
为 1,新同学将插入到q
之前,因此new_index
为q-1
;否则,新同学将插入到q
位置。 - 使用
list.insert()
方法在students
列表中插入新同学的学号new_stu
。 - 将更新后的学号列表转换为字符串并打印。
- 根据
3.2 精细题解
# 精细解题 #def data_input() -> tuple:''' 数据输入 '''print(f"\n\n{' 数组增加元素 ':*^36}") try:n = int(input(f"\n输入班级同学人数"f"\n{'(0 < n < 60):':>15}"))except ValueError:raise ValueError(f"{' 请输入整数 ':-^37}")if not (0 < n < 60):raise ValueError(f"\n{' 班级同学人数必须在0到60之间 ':-^30}")students = list(map(int, input(f"输入班级同学学号:\n{'如7 1 3 14 5':>27}\n{'':>18}").strip().split())) # 班级同学列表(学号列表)if len(students) != n:raise ValueError(f"\n{' 输入的学号数量与班级人数不符 ':-^28}")try:new_stu = int(input('输入新同学学号:'))except ValueError as e:raise ValueError(f"{' 请输入整数 ':-^37}")try:p, q = map(int, input(f"输入p和q的值,用空格分隔\n{'(q为大于等于1的整数)':>10}:").strip().split())except ValueError as e:raise ValueError(f"{' 请输入两个整数':-^35}")if q < 1:raise ValueError(f"{' q的值必须大于等于1 ':-^34}")return n, students, new_stu, p, qdef in_date():''' 递归数据输入函数 '''try:return data_input()except ValueError as e:print(f"\n{e}"f"\n\n{' 请根据提示重新输入 ':.^33}")return in_date()# 调用递归函数并获取数据
n, students, new_stu, p, q = in_date()# 根据q的值插入新同学
new_index = q-1 if p == 1 else q # 保证当p不是1时,在q之后安排新同学入座
students.insert(new_index, new_stu) # 新同学排位(list插入,list.insert方法是在index之前插入,就“抵消”list元素对象从0起index。所以,直接new_stu插入)# 打印结果
print(f"\n输出:"f"\n{' '.join(map(str, students))}"f"\n\n{'':=^42}")
效果截屏
这个题解提供了一个更加通用的解决方案,它允许用户输入数据而不是使用硬编码的字符串。
-
数据输入:
data_input()
函数用于从用户那里获取输入数据,包括班级同学人数n
、现有同学的学号列表students
、新同学的学号new_stu
以及插入位置的参数p
和q
。- 函数内部包含错误处理,确保用户输入的是有效的整数,并且输入的学号数量与班级人数相符。
-
递归数据输入函数:
in_date()
函数是一个递归函数,它调用data_input()
并处理任何由无效输入引起的ValueError
异常。如果发生错误,它会提示用户重新输入数据。
-
数据处理和输出:
- 从
in_date()
函数获取输入数据后,程序计算新同学的插入位置new_index
。 - 使用
list.insert()
方法将新同学插入到正确的位置。 - 最后,将更新后的学号列表转换为字符串并打印。
- 从
这两个题解都很好地展示了如何使用 Python 的列表操作来插入元素,同时也展示了如何处理用户输入和错误。第二个题解通过使用递归和异常处理,提供了更加健壮和用户友好的解决方案。😎😎
四、完整源码(Python)
(源码较长,点此跳过源码)
#!/usr/bin/env python3date = '''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 = }"f"\n{new_stu = }\n{p = }, {q = }")# 新同学排位 #
new_index = q-1 if p == 1 else q # 确认新同学排位入口
print(f"\n{new_index = }")
students.insert(new_index, new_stu) # 新同学排位(list插入,list.insert方法是在index之前插入,就“抵消”list元素对象从0起index。所以,直接new_stu插入)
students = ' '.join(map(str, students))
print(f"\n输出:"f"\n{students = }"f"\n\n{'':=^42}")# 精细解题 #def data_input() -> tuple:''' 数据输入 '''print(f"\n\n{' 数组增加元素 ':*^36}") try:n = int(input(f"\n输入班级同学人数"f"\n{'(0 < n < 60):':>15}"))except ValueError:raise ValueError(f"{' 请输入整数 ':-^37}")if not (0 < n < 60):raise ValueError(f"\n{' 班级同学人数必须在0到60之间 ':-^30}")students = list(map(int, input(f"输入班级同学学号:\n{'如7 1 3 14 5':>27}\n{'':>18}").strip().split())) # 班级同学列表(学号列表)if len(students) != n:raise ValueError(f"\n{' 输入的学号数量与班级人数不符 ':-^28}")try:new_stu = int(input('输入新同学学号:'))except ValueError as e:raise ValueError(f"{' 请输入整数 ':-^37}")try:p, q = map(int, input(f"输入p和q的值,用空格分隔\n{'(q为大于等于1的整数)':>10}:").strip().split())except ValueError as e:raise ValueError(f"{' 请输入两个整数':-^35}")if q < 1:raise ValueError(f"{' q的值必须大于等于1 ':-^34}")return n, students, new_stu, p, qdef in_date():''' 递归数据输入函数 '''try:return data_input()except ValueError as e:print(f"\n{e}"f"\n\n{' 请根据提示重新输入 ':.^33}")return in_date()# 调用递归函数并获取数据
n, students, new_stu, p, q = in_date()# 根据q的值插入新同学
new_index = q-1 if p == 1 else q # 保证当p不是1时,在q之后安排新同学入座
students.insert(new_index, new_stu) # 新同学排位(list插入,list.insert方法是在index之前插入,就“抵消”list元素对象从0起index。所以,直接new_stu插入)# 打印结果
print(f"\n输出:"f"\n{' '.join(map(str, students))}"f"\n\n{'':=^42}")
上一篇: re通配表达式从“硬编码”到精炼简洁的历程示例(本文举例说明“re表达式从繁至简的历程”:源于对匹配字符串格式的详细把控,得益于对re通配符含义的深切理解。文章语言朴实,步步深入,浅析简单逻辑)
下一篇:
我的HOT博:
本次共计收集404篇博文笔记信息,总阅读量61.76w。数据采集于2024年11月25日 08:23:38,用时7分56.4秒。阅读量不小于6.00k的有 9 9 9篇。
- 让QQ群昵称色变的神奇代码
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
浏览阅读:6.2w
点赞:25 收藏:89 评论:17
(本篇笔记于2022-01-18 19:15:08首次发布,最后修改于2022-01-20 07:56:47)
- Python列表(list)反序(降序)的7种实现方式
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
浏览阅读:1.3w
点赞:9 收藏:40 评论:8
(本篇笔记于2022-12-11 23:54:15首次发布,最后修改于2023-03-20 18:13:55)
- pandas 数据类型之 DataFrame
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
浏览阅读:1.0w
点赞:7 收藏:40
(本篇笔记于2022-05-01 13:20:17首次发布,最后修改于2022-05-08 08:46:13)
- 个人信息提取(字符串)
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
浏览阅读:1.0w
点赞:3 收藏:20
(本篇笔记于2022-04-18 11:07:12首次发布,最后修改于2022-04-20 13:17:54)
- 罗马数字转换器|罗马数字生成器
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
浏览阅读:8.2k
收藏:3
(本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46)
- 统计字符串字符出现的次数
地址:https://blog.csdn.net/m0_57158496/article/details/130517025
浏览阅读:8.1k
点赞:5 收藏:24
(本篇笔记于2023-05-06 22:28:18首次发布,最后修改于2023-05-12 06:21:40)
- Python字符串居中显示
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
浏览阅读:8.0k
点赞:1 收藏:12 评论:1
- 回车符、换行符和回车换行符
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
浏览阅读:6.7k
点赞:2 收藏:4
(本篇笔记于2022-02-24 13:10:02首次发布,最后修改于2022-02-25 20:07:40)
- python清屏
地址:https://blog.csdn.net/m0_57158496/article/details/120762101
浏览阅读:6.1k
点赞:1 收藏:10
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)

精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)
相关文章:

python数组增加元素
append、appext、insert,在某位置插入insert最在行。 (笔记模板由python脚本于2024年12月04日 19:41:46创建,本篇笔记适合python基础编程的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖…...

【笔记】离散数学 1-3 章
1. 数理逻辑 1.1 命题逻辑的基本概念 1.1.1 命题的概念 命题(Proposition):是一个陈述句,它要么是真的(true),要么是假的(false),但不能同时为真和假。例如…...

AI技术在电商行业中的应用与发展
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

【Linux篇】权限管理 - 用户与组权限详解
一. 什么是权限? 首先权限是限制人的。人 真实的人 身份角色 权限 角色 事物属性 二. 认识人–用户 Linux下的用户分为超级用户和普通用户 root :超级管理员,几乎不受权限的约束普通用户 :受权限的约束超级用户的命令提示符是#,普通用…...
【AI系统】昇腾推理引擎 MindIE
昇腾推理引擎 MindIE 本文将介绍华为昇腾推理引擎 MindIE 的详细内容,包括其基本介绍、关键功能特性以及不同组件的详细描述。 本文内容将深入探讨 MindIE 的三个主要组件:MindIE-Service、MindIE-Torch 和 MindIE-RT,以及它们在服务化部署…...

美畅物联丨智能监控,高效运维:视频汇聚平台在储能领域的实践探索
在当今全球能源格局不断变化的大背景下,对清洁能源的需求正以惊人的速度增长。储能项目作为平衡能源供需、提升能源利用效率的关键环节,其规模和复杂度也在不断攀升。在储能项目的运营管理过程中,安全监控、设备运维以及数据管理等方面面临着…...
[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED]
使用requess库访问https网址时,返回 (Caused by SSLError(SSLError(1, [SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1147)))) 原因可能是服务器的认证方式版本太低然后requests抛弃了这种认证方式 参考ÿ…...

12.2深度学习_视觉处理CNN_池化层、卷积知识
3.池化层 3.1 概述 池化层 (Pooling) 降低维度, 缩减模型大小,提高计算速度. 即: 主要对卷积层学习到的特征图进行下采样(SubSampling)处理。 池化层主要有两种: 最大池化 max pooling 最大池化是从每个局部区域中选择最大值作为池化后的值…...
Kafka 常见面试题深度解析
一、基础概念 1. 请简要介绍 Kafka 的基本架构。 Kafka 主要由生产者(Producer)、消费者(Consumer)、代理(Broker)、主题(Topic)和分区(Partition)等组成。…...
LVS默认的工作模式支持哪些负载均衡算法?
LVS默认的工作模式支持哪些负载均衡算法? LVS(Linux Virtual Server)默认支持多种负载均衡算法,这些算法在不同的场景下具有各自的优势。以下是 LVS 默认支持的负载均衡算法及其特点: 1. 轮询调度(Round Robin Sched…...

洛谷P2670扫雷游戏(Java)
三.P2670 [NOIP2015 普及组] 扫雷游戏 题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏。在 n 行 m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩…...

【算法】【优选算法】位运算(下)
目录 一、:⾯试题 01.01.判定字符是否唯⼀1.1 位图1.2 hash思路1.3 暴力枚举 二、268.丢失的数字2.1 位运算,异或2.2 数学求和 三、371.两整数之和四、137.只出现⼀次的数字 II五、⾯试题 17.19.消失的两个数字 一、:⾯试题 01.01.判定字符是…...
前端性能优化篇:防抖和节流
参考:JS问题:项目中如何区分使用防抖或节流? 面试官:什么是防抖和节流?有什么区别?如何实现? 1 为什么要用到防抖和节流 当函数绑定一些持续触发的事件如:浏览器的resize、scroll…...

同为科技(TOWE)柔性定制化PDU插座
随着科技的进步,越来越多的精密电子设备,成为工作生活密不可分的工具。 电子电气设备的用电环境也变得更为复杂,所以安全稳定的供电是电子电气设备的生命线。 插座插排作为电子电气设备最后十米范围内供配电最终核心部分,便捷、安…...
【云原生系列】云计算中的负载均衡是什么,有什么用
云计算里有一个非常重要的概念叫“负载均衡”,如果你经常听到这个词但还不太明白具体是怎么回事,这篇文章可以给你一些思路。负载均衡简单来说就是“分担压力”,确保访问量被合理地分配到各个服务器上,让系统高效且稳定地运行。 …...

工业—使用Flink处理Kafka中的数据_ChangeRecord2
使用 Flink 消费 Kafka 中 ChangeRecord 主题的数据,每隔 1 分钟输出最近 3 分钟的预警次数最多的 设备,将结果存入Redis 中, key 值为 “warning_last3min_everymin_out” , value 值为 “ 窗口结束时间,设备id” &am…...

【Java-数据结构篇】Java 中栈和队列:构建程序逻辑的关键数据结构基石
我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 一、引言 1. 栈与队列在编程中的角色定位 栈和队列作为两种基本的数据结构,在众多编程场景中都有着独特的地位。它们为数据的有序…...

工业—使用Flink处理Kafka中的数据_ProduceRecord1
1 、 使用 Flink 消费 Kafka 中 ProduceRecord 主题的数据,统计在已经检验的产品中,各设备每 5 分钟 生产产品总数,将结果存入Redis 中, key 值为 “totalproduce” , value 值为 “ 设备 id ,最近五分钟生…...
探索CSS版心布局:构建现代网页的黄金比例
探索CSS版心布局:构建现代网页的黄金比例 在网页设计中,版心(或称为内容区域)是页面的核心部分,通常用于放置主要内容。使用CSS3的新特性,可以创建更加灵活和响应式的版心布局。本文将详细介绍如何使用CSS…...

华为NPU服务器昇腾Ascend 910B2部署通义千问Qwen2.5——基于mindie镜像一路试错版(三)
文章目录 前言纯模型推理启动服务后面干什么?这可咋整啊?愁死了!总结前言 这是咱这个系列的第三个文章了。 毕竟,这是我好几天摸索出的经验,能帮助各位在几个小时内领会,我觉得也算是我的功劳一件了。 所以,一是希望大家耐心看下去,耐心操作下去;而是恳请各位多多关…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...

图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...