【Python】数据处理,split+map
如何实现读取一行输入的两个数字 在编写算法题或处理外部数据流时,我们经常需要解析同一行输入的多个数据。如果在 C 语言中,我们习惯使用 scanf("%d %d", &n, &d) 来读取格式化数据。但在 Python 中,这种操作有着更具“Pythonic”风格的优雅实现方案:map() 与 split() 的组合。 本文将深入拆解这两个底层函数的工作机制,探讨其进阶用法以及底层的迭代器特性。 一、 split():字符串分割split() 是 Python 字符串内置的核心方法,其底层逻辑是通过遍历字符串并匹配分隔符,将长字符串切割为多个子串,最终返回一个列表。 1. 基础用法:默认切分如果不传入任何参数,split() 默认以所有空白字符(包括空格、换行符 \n、制表符 \t 等)作为分隔符,并且会自动丢弃连续的空白字符。 123text = " 3 5 \t 7 "result = text.split()print(result) # 输出: ['3', '5', &...
host文件
Windows 系统的 hosts 文件是一个没有扩展名的纯文本文件,它的核心作用是将域名(网址)强制映射到指定的 IP 地址。 你可以把它理解为电脑本地的一个“私人专属通讯录”或“微型 DNS 服务器”。 它是如何工作的?当你在浏览器中输入一个网址(例如 github.com)或程序尝试连接某个域名时,Windows 系统解析该域名的顺序是: 优先检查 hosts 文件: 看看里面有没有关于这个域名的 IP 地址记录。 如果没有找到: 系统才会通过网络向外部的 DNS 服务器(比如你所在运营商的 DNS,或者 114.114.114.114)发起查询请求。 只要在 hosts 文件里写了规则,系统就会绝对服从这条规则,不再去网络上查询。 hosts 文件的常见用途 本地开发与测试: 开发者经常需要将某个测试域名(比如 dev.mysite.com)指向本机的 IP 地址 127.0.0.1,这样在电脑上就能直接预览开发中的项目。 屏蔽恶意网站或广告: 如果你把某个弹窗广告的域名(比如 ads.example.com)映射到一个无效的 IP 地址(如 0.0.0.0 或 12...
【Python】列表排序,推导式
【Python】列表排序,推导式一、列表排序使用sort()函数,语法格式 1listname.sort(key=None,reverse=False) reverse是可选参数,默认情况进行升序排序 当reverse = True,则表示为降序排序 key表示从每个元素中提取用于比较的键 当对字符串排序时,可以设置key参数,默认区分大小写进行排序,当key=str.lower,此时排序不区分大小写 sorted函数 1sorted(listname,key=None,reverse=False) 与sort函数的作用基本相同,不过sorted函数不会改变原列表,而是通过返回值的方式进行排序 二、列表推导式列表推导式的基本结构如下,外面由方括号 [] 包裹: 1[表达式 for 变量 in 可迭代对象 if 条件] 表达式:你要放入新列表中的元素(可以是变量本身,也可以是对变量的计算或方法调用)。 for 变量 in 可迭代对象:负责遍历原有的数据。 if 条件:(可选)用于过滤数据的条件,只有满足条件的元素才会被送到前面的“表达式”中处理...
【Python】运算符、输入与转义字符
Python 核心基础:运算符、输入与转义字符1. 算数运算符 (Arithmetic Operators)Python 提供了丰富的算数运算符。除了常规的加减乘除,Python 还在原生层面支持了幂运算和精确的整除运算。 运算符 描述 实例 (a = 10, b = 3) 结果 + 加 - 两个对象相加 a + b 13 - 减 - 得到负数或是一个数减去另一个数 a - b 7 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 30 / 除 - x 除以 y (返回浮点数) a / b 3.3333333333333335 // 整除 (向下取整) - 返回商的整数部分 a // b 3 % 取模 - 返回除法的余数 a % b 1 ** 幂 - 返回 x 的 y 次幂 a ** b 1000 💡 与 C 语言的对比: 除法运算 (/):在 C 语言中,两个整数相除(如 10 / 3)结果为 3(截断取整)。但在 Python 3 中,/ 总是返回浮点数(3.33...)。若要实现 C 语言那...
【烟草纲目】黄鹤楼•软蓝
黄鹤楼•软蓝 var ap = new APlayer({ element: document.getElementById("aplayer-OwhGqTgp"), narrow: false, autoplay: false, showlrc: false, music: { title: "富士山下", author: "陈奕迅", url: "/audio/富士山下.mp3", pic: "/audio/富士山下.png", lrc: "" } }); window.aplayers || (window.aplayers = []); ...
VS Code 配置全指南:Python与C语言开发环境的底层逻辑与实践
在软件开发与物联网工程的实践中,Visual Studio Code (VS Code) 凭借其卓越的扩展性成为了主流的开发工具。然而,初学者在初次接触 VS Code 时,常会陷入一个误区:认为只需在编辑器内安装相关语言的插件即可开始编写和运行代码。 本文将从底层原理解发,详细阐述编译器、解释器及环境变量的概念,并提供在 VS Code 中配置 Python 与 C 语言开发环境的标准化流程。 一、 核心概念解析1. VS Code 的本质与优势VS Code 本质上是一个轻量级的源代码编辑器 (Source Code Editor),而非开箱即用的集成开发环境 (IDE)。 优势:其核心优势在于极低的内存占用、强大的跨平台支持以及繁荣的插件生态。通过 Language Server Protocol (LSP),VS Code 可以将代码高亮、自动补全、静态语法检查等前端功能与后端的语言服务解耦。 局限:VS Code 自身并不包含任何语言的编译或运行工具链。插件市场中的 “Python” 或 “C/C++” 插件,仅仅是提供语法提示和调试接口的“中间件”,它们必...
【Python】数据类型与占位符
数据类型 int 整型 float 浮点型 bool 布尔型 complex 复数型 检测数据类型的方法1234num=1print(type(num))#输出:<class 'int'> 重点:布尔值有固定的写法,一个为 True (真) 一个为 False (假) 且严格区分大小写 123print(type(True))# 输出:<class 'bool'> 布尔值可以当作整型对待,True相当于整数1,False相当于整数0 1234print(True + False)print(True + 1)# 输出:1# 2 python中的复数固定写法: z = a + bj a是实部,b是虚部 12345a=5+3jb=4+3jprint(a+b)# 输出:(9+6j) 字符串str123name = WangZong# 报错,没有引号识别成变量名,WangZong没有被赋值 需要加上引号,单引号和双引号都可以 123name = 'WangZong'Full...
【Python】第一课
python第一课一、打印12print(123)print("hello world") 输出函数: print() 输出参数: values 值,输出多个值或者多句话要用英文逗号隔开 sep 用来间隔多个值,默认是空格 end 默认用\n换行做结尾,可以切换成其他字符 123456789101112131415161718192021print("我""要""去钓鱼")# 输出:我要去钓鱼print("我", "要", "去钓鱼")# 输出:我 要 去钓鱼print("我", "要", "去钓鱼", sep=',') # sep用来间隔多个值# 输出:我,要,去钓鱼print("hello")print("world")'''输出:helloworld默认是换行'&...
【C语言】一键判断你有没有挂科
一键判断你有没有挂科高数总成绩出来了,你到底有没有挂科?下面的程序会直接告诉你 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>void Calculate_with_total(float n);void Calculate_without_total(void);int main(void) { float total; printf("*** 这是一个测试你期末卷面成绩的程序 ***\n"); printf("请问你有没有问到自己的期末总成绩?\n"); printf("请输入你的期末总成绩,如果没有,请输入非数字任意内容进行下一项\n"); if (scanf("%f...
【C语言】C语言关键字
C语言关键字1. 核心特征 固定含义: 编译器看到这些词,就知道要做特定的事情(比如 int 就是定义整数,if 就是做判断)。 不可占用: 你不能 用这些词来给你的变量、函数或数组命名。 ❌ int if = 10; (错误!if 是关键字,不能当变量名) ✅ int my_value = 10; (正确) 全部小写: C语言的所有关键字都是小写的。VOID 或 If 就不是关键字,可以作为变量名(虽然不建议这么做)。 2. 标准的32个关键字(C89标准)大学考试和基础教程中,通常只要求掌握这32个。为了好记,我们可以按功能分类: A. 数据类型类 (12个)用来定义变量是什么“材质”的。 基本类型: char, double, float, int, long, short, void 修饰类型: signed (有符号), unsigned (无符号) 复杂类型: struct (结构体), union (共用体), enum (枚举) B. 流程控制类 (12个)指挥程序该往哪里走。 循环: for, do, while 分支/选择: if, e...


