python基础语法(十二)
目录
- 标准库
- 认识标准库
- 使用 import 导入模块
- 代码示例: 字符串操作
- 剑指offer 58, 翻转单词顺序
- 题目
- 题目做法
- 代码
- leetcode 796, 旋转字符串
- 题目
- 题目做法
- leetcode 2255, 统计是给定字符串前缀的字符串数目
- 题目
- 题目做法
- 代码示例: 文件查找工具
感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接
🐒🐒🐒个人主页
🥸🥸🥸C语言
🐿️🐿️🐿️C语言例题
🐣🐓🏀python
标准库
认识标准库
Python 自身内置了非常丰富的库
在python官方文档上可以看到这些库的内容
简单来说, 主要是这些部分
内置函数 (如 print, input 等)
内置类型 (针对 int, str, bool, list, dict 等类型内置的操作).
文本处理
时间日期
数学计算
文件目录
数据存储 (操作数据库, 数据序列化等).
加密解密
操作系统相关
并发编程相关 (多进程, 多线程, 协程, 异步等).
网络编程相关
多媒体相关 (音频处理, 视频处理等)
图形化界面相关
…
我们不需要把这些库的内容都背下来, 只要大概知道里面有啥, 需要用的时候能够找到即可
使用 import 导入模块
使用 import 可以导入标准库的一个模块
import [模块名]
所谓 “模块” , 其实就是一个单独的 .py 文件.
使用 import 语句可以把这个外部的 .py 文件导入到当前 .py 文件中, 并执行其中的代码
代码示例: 日期计算
输入任意的两个日期, 计算两个日期之间隔了多少天.
使用 import 语句导入标准库的 datetime 模块
使用 datetime.datetime 构造两个日期. 参数使用 年, 月, 日 这样的格式.
两个日期对象相减, 即可得到日期的差值
import datetime
date1 = datetime.datetime(2012, 2, 14)
date2 = datetime.datetime(2022, 7, 12)
print(date2 - date1)
关于 datetime 的更多操作, 可以参考python官方文档
代码示例: 字符串操作
字符串是 Python 的内置类型, 字符串的很多方法不需要导入额外的模块, 即可直接使用
剑指offer 58, 翻转单词顺序
字符串中的单词反转
题目
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变
为简单起见,标点符号和普通字母一样处理
例如输入字符串"I am a student. ",则输出"student. a am I
题目做法
使用 str 的 split 方法进行字符串切分, 指定 空格 为分隔符. 返回结果是一个列表.
使用列表的 reverse 方法进行逆序.
使用 str 的 join 方法进行字符串拼接. 把列表中的内容进行合并.
代码
def reverseWords(s):tokens = s.split()tokens.reverse()return ' '.join(tokens)
print(reverseWords('I am a student.'))
leetcode 796, 旋转字符串
旋转字符串
题目
给定两个字符串, s 和 goal。如果在若干次旋转操作之后,s 能变成 goal ,那么返回 true 。
s 的 旋转操作 就是将 s 最左边的字符移动到最右边。
例如, 若 s = ‘abcde’,在旋转一次之后结果就是’bcdea’
题目做法
使用 len 求字符串的长度. 如果长度不相同, 则一定不能旋转得到.
将 s 和 自己 进行拼接, 然后直接使用 in 方法来判定 goal 是否是 s + s 的子串
def rotateString(s, goal):return len(s) == len(goal) and goal in s + s
print(rotateString('abcde', 'cdeab'))
leetcode 2255, 统计是给定字符串前缀的字符串数目
统计是给定字符串前缀的字符串数目
题目
给你一个字符串数组 words 和一个字符串 s ,其中 words[i] 和 s 只包含 小写英文字母 。
请你返回 words 中是字符串 s 前缀 的 字符串数目 。
一个字符串的 前缀 是出现在字符串开头的子字符串。子字符串 是一个字符串中的连续一段字符序列
题目做法
依次遍历 words 中的字符串
直接使用字符串的 startswith 方法即可判定当前字符串是否是 s 的前缀
def countPrefixes(words, s):res = 0 # 符合要求字符串个数for word in words:if s.startswith(word):res += 1return res
print(countPrefixes(["a","b","c","ab","bc","abc"], "abc"))
更多字符串操作,请看官方文档
代码示例: 文件查找工具
指定一个待搜索路径, 同时指定一个待搜索的关键字.
在待搜索路径中查找是否文件名中包含这个关键字.
使用 os.walk 即可实现目录的递归遍历.
os.walk 返回一个三元组, 分别是 当前路径 , 当前路径下包含的目录名 (多个), 当前路径下包含的文件名 (多个)
import os
inputPath = input('请输入待搜索路径: ')
pattern = input('请输入待搜索关键词: ')
for dirpath, dirnames, filenames in os.walk(inputPath):for f in filenames:if pattern in f:print(f'{dirpath}/{f}')
关于 os 模块的更多操作, 参考官方文档
相关文章:
python基础语法(十二)
目录 标准库认识标准库使用 import 导入模块代码示例: 字符串操作剑指offer 58, 翻转单词顺序题目题目做法代码 leetcode 796, 旋转字符串题目题目做法 leetcode 2255, 统计是给定字符串前缀的字符串数目题目题目做法 代码示例: 文件查找工具 感谢各位大佬对我的支持,如果我的文…...
【开源】基于SpringBoot的农村物流配送系统的设计和实现
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理:2.2.2 位置信息管理:2.2.3 配送人员分配:2.2.4 路线规划:2.2.5 个人中心:2.2.6 退换快递处理:…...
【2024秋招】2023-9-16 贝壳后端开发一面
1 秒杀系统 1.1 如何抗住高并发 1.2 数据一致性你是怎么处理,根据场景来说明你的设计思路 1.3 你们当时系统的架构是怎么样的 秒杀表做节点隔离, 1.4 为了保证数据一致性,引入了redission的锁,你是为了抗住高并发而去为了引入…...
BI是什么?想要了解BI需要从哪些方面入手?
企业为了执行数字化战略,实行数字化转型,实现数据价值,除了需要相关数字化技术及理念、人才等,还需要借助数字化相关应用,例如商业世界中广受企业欢迎的ERP、OA、CRM等业务信息系统,以及上升势头非常迅猛的…...
软件测试---等价类划分(功能测试)
能对穷举场景设计测试点-----等价类划分 等价类划分 说明:在所有测试数据中,具有某种共同特征的数据集合进行划分分类: 1)有效等价类 2)无效等价类步骤:1)明确需求 2)确定有效和无…...
javascript原生态xhr上传多个图片,可预览和修改上传图片为固定尺寸比例,防恶意代码,加后端php处理图片
//前端上传文件 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml" lang"UTF-8"></html> <html><head><meta http-equiv"Content-Type" content"text/html;charsetUTF-8;"/><title…...
【Java】Map集合中常用方法
Map集合的常用方法 方法名称作用V put(Key k,V value)添加元素V remove(K key, V value)根据键值删除对应的值void clear()清除所有键值元素boolean containsKey(Object key)判断集合中是否包含指定的键boolean containsValue(Object value)判断集合中是否包含指定的值boolean …...
方太描画未来厨房的模样
作者 | 辰纹 来源 | 洞见新研社 不知不觉中,iPhone已经更新到15代了,家里的电视变成了越来越轻薄的液晶屏,过去被称为“老三样”的富康,捷达、桑塔纳,如今也被以特斯拉为代表的新能源智能汽车们所取代…… 类似以上的…...
ELASTICO-A Secure Sharding Protocol For Open Blockchains
INTRO 在中本聪共识中,通过POW机制来公平的选举leader,不仅非常消耗power,并且拓展性也不好。现在比特币中是7 TPS,和其他的支付系统相比效率相差甚远。 当前的许多拜占庭共识协议,并不支持在一个开放的环境中使用&a…...
【数据结构】Map和Set
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈数据结构 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 Map、Set 1. 搜索树1.1 概念1.2 性能…...
Python Flask
Python Flask是一个轻量级的web开发框架,用于快速地构建web应用程序。以下是Python Flask的基本使用步骤: 安装Flask:使用pip安装Flask包。在命令行中输入以下命令: pip install flask创建Flask对象:在Python文件中&am…...
时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测
时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测 目录 时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 | Python实现ARIM…...
Redis快速上手篇八(redission完善分布式锁)
Redisson Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务,其中就包含了各种分布式锁的实现。简单说就是redis在分布式系统上工…...
Dataset文件下载以及使用,以nuswide为例
文章目录 文件夹结构如何使用继承torch.utils.data.Dataset构建新的class构建新的Dataloader 数据集要求以文章 multi-label learning from single positive label为例; 文件夹结构 我是这么放置的,其中含有obs的文件是通过运行文件夹preproc下的genera…...
ZYNQ连载02-开发环境
ZYNQ连载02-开发环境 1. 官方文档 ZYNQ开发使用的软件为Vivado/Vitis/PetaLinux,软件体积比较大,硬盘保留100G以上的空间,赛灵思提供详细的文档,链接如下: ZYNQ文档 2. Vivido和Vitis安装 赛灵思统一安装程序 3. PetaLinux安装…...
前端 :用HTML和css制作一个小米官网的静态页面
1.HTML: <body><div id "content"><div id "box"><div id "top"><div id "top-left"><span id "logo">MI</span><span id "text-logo">小米账…...
modelsim仿真报错:vlog-2388 ‘scl‘ already declared in this scope
问题背景: 1、使用vivado直接仿真的时候没有报错。 2、在vivado中调用modelsim的时候报错。 报错的代码: module iic_write(input clk,input rst,output scl,input en,inout sda);reg scl;……报错的意思是scl已经声明过了,mode…...
C#中通过BeginInvoke()和EndInvoke()来实现异步
.NET Framework允许异步调用任何方法。定义与需要调用的方法具有相同签名的委托;公共语言运行库将自动为该委托定义具有适当签名的 BeginInvoke 和 EndInvoke 方法。以下介绍C#中,通过BeginInvoke()和EndInvoke()来实现异步。 1、异步编程 调用BeginInv…...
github中.gitignore不起作用啦
文章目录 前言两种方法解决清除本地缓存设置不需要 额外注意 前言 提示:人不是靠讲话来生活。每个人都应该靠行动。而行动,是需要时间来证明的。 --《自在独行》 两种方法解决 清除本地缓存 (.gitignore中已经表标明忽略的文件目录下的文件了…...
同步网盘推荐及挑选指南:便捷、安全、适用的选择
同步网盘是最近热门的文件协同工具之一,因其使用的便捷性受到了诸多用户的青睐。如今网盘市场产品众多,有什么好用的同步网盘?如何挑选同步网盘?是许多需求者关心的问题。 如何挑选同步网盘?在同步网盘挑选过程中要从…...
热门推荐:收藏!软件研发小白必看:AI转型从思维转变开始,轻松掌握大模型协作
本文探讨了软件研发团队如何进行AI转型,强调不应从购买工具或引入Agent开始,而是应首先关注个体思维的转变、团队知识底座的统一以及协作流程的重新设计。文章指出,开发者需要从关注代码实现转向关注编码前的设计、上下文组织和边界定义&…...
通过Taotoken CLI工具一键配置多开发环境接入参数
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken CLI工具一键配置多开发环境接入参数 在接入大模型服务时,开发者常常需要为不同的开发工具(如…...
免费一键去图片水印的app有哪些?2026年免费去水印app推荐与测评
在社交媒体时代,我们经常会遇到需要去除图片水印的情况——无论是处理自己的作品,还是优化电商产品图,亦或是整理素材库。但去水印听起来复杂,实际上现在已经有很多免费工具可以一键搞定。本文为你盘点2026年最实用的去水印解决方…...
Auto数据集实战:用线性回归讲透建模全流程
1. 项目概述:为什么我坚持用Auto数据集讲透线性回归的“第一课” 你打开任何一本统计学习或机器学习入门书,几乎都会在第二章看到那个熟悉的表格——几列数字:mpg、cylinders、displacement、horsepower、weight、acceleration、model year、…...
如何用Python自动化脚本高效抢购热门演出门票?智能抢票解决方案揭秘
如何用Python自动化脚本高效抢购热门演出门票?智能抢票解决方案揭秘 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 还在为热门演唱会门票秒光而烦恼吗࿱…...
如何快速解锁QQ音乐加密音频的完整指南:QMCDecode工具终极解决方案
如何快速解锁QQ音乐加密音频的完整指南:QMCDecode工具终极解决方案 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录&…...
Mythos大模型:跨栈系统直觉与自主运维能力解析
1. 这不是一次普通升级:Mythos 的能力跃迁本质是什么?如果你过去三年持续关注大模型演进,大概率会记得2023年Claude 2发布时那种“稳扎稳打”的观感——推理更连贯、长文本更可靠、越狱难度更高,但没人会说它“颠覆了什么”。2024…...
服务网格实战:Istio与Linkerd对比选型与落地实践
服务网格实战:Istio与Linkerd对比选型与落地实践 大家好,我是迪哥。服务网格(Service Mesh)是微服务架构的基础设施层,负责服务间的通信、安全、监控和治理。从 Istio 到 Linkerd,我们对比了多种方案&#…...
游戏AI战略逻辑:状态建模、奖励设计与实时决策三要素
1. 项目概述:当机器开始玩我们的游戏,背后不是炫技,而是逻辑的具象化“当机器开始玩我们的游戏”——这句话乍听像科幻片开场白,但现实中它早已不是新闻。AlphaGo击败李世石那盘棋之后,很多人以为AI下棋只是算法碾压人…...
iOS自动化测试环境搭建:Xcode签名与WebDriverAgent配置全指南
1. 为什么iOS自动化测试环境比Android更让人头疼——从Xcode签名到WebDriverAgent的硬门槛AppiumPython实现iOS自动化测试~环境搭建,这短短十几个字背后,藏着绝大多数刚接触iOS自动化的新手在前三天反复重装系统、重启Mac、怀疑人生的真实写照。我带过六…...
