Python基础学习004——for循环与字符串
""" 1.for循环基本语法 2.做指定次数的循环,range()函数 3.continue的使用 4.字符串的定义与使用:转义符,原生字符 5.获取字符串长度,字符串索引的使用 6.切片,翻转字符串 7.字符串的查找find 8.字符串的替换replace 9.字符串的拆分split 10.字符串的链接join """# 最简单的for循环,遍历容器my_str中的内容 my_str = "123456" for i in my_str:print(i)# 做指定次数的循环,range(n),左闭右开区间0-n-1的整数.循环执行多少次,n就是几. for q in range(10):print(q) # range的变形使用,使用for循环获取5-10之间的和. s_num = 0 for w in range(5, 11):s_num += w print('5+6+7+8+9+10=', s_num)# break:只在循环中使用,终止循环. # continue:只跳过本次循环. str1 = "hello" for i in str1:if i == 'e':continueprint(i)""" 容器又称数据序列:字符串,列表,字典,元组 字符串,列表,元组支持加法运算,乘法运算 in在容器中的使用是共通的,在字典中判断的是键是否存在 容器为空时,容器表示为False,其余情况为True """ # 字符串 str2 = '1234567sdg' str3 = "11dzkjhoiwd" str4 = """hello""" print(str2+str3) # 字符串加法 print('+'*30) # 字符串乘法 print('str2:', type(str2), 'str3:', type(str3), 'str4:', type(str4)) # 特殊字符在字符串中的处理:1.字符串中包含的引号和将字符串括起来的引号不同即可. # 2.使用转义符\将特殊字符转义 # 3.原生字符:在字符串前加一个r str5 = "I'm sunny" str6 = 'I\'m sunny2' str7 = r'\我们想吃烧鸡\'' # r表示原生字符串,\不会被当做转义符,通常用在文件操作,处理路径 print(str5, str6,str7)# 字符串的下标(索引):正数索引从0开始.python中支持负数下标,从右向左计数从-1开始 print(str2[3]+str2[-3])# 获取字符串长度len() num = len('123456') num1 = len(str2) print(num, num1, str2[num1-1], str3[len(str3)-1]) # 输出两个字符串的长度及str2和str3的最后一个字符# 字符串切片:获取字符串中的多个字符,结果是一个字符串 # 字符串[start:end:step]:start开始位置下标(默认为0),end结束位置下标,step步长(默认为1)即隔step-1个取一个 print(str2[0:6:2]) # 隔一个取一个 print(str2[0:6]) # 挨个取,step为1可以省略不写 print(str2[:6:2]) # 隔一个取一个,起始位置为0可以省略不写 print(str2[2::2]) # 隔一个取一个直到最后一个字符,end也可以不写 print(str2[::2]) # 隔一个取一个,从第一个字符开始到最后一个字符结束 print(str2[::-1]) # 步长为负数,翻转字符串# 字符串的查找:str.find(sub_str,start,end)从start(默认为0)开始到end(默认为len(str)-1结束,在字符串中是否存在sub_str # 找到了返回第一次出现sub_str的下标,没找到返回-1 print(str2.find('45', 1, 7)) # 能找到 print(str2.find('8', 1, 7)) # 找不到 print(str2.find('4', 1)) # end默认不写 print(str2.find('4')) # start和end都不写 # 查找sub_str第n次出现位置,从第n-1次出现的位置开始查找 sub_str = str5.find('n') print(str5.find('n', sub_str-1)) # 第二次出现的位置# 字符串替换:str.replace(old_str,new_str,count) # count为替换次数(即用new替换几次old字符),一般不写,默认全部替换 # 替换后原字符是不变的.要使用替换后的字符,需赋值给新的变量 str8 = '1234567890abcdefgaaa' str8_1 = str8.replace('a', 'A', 3) str8_2 = str8.replace('a', 'A') print('原字符是:', str8) print('替换3次后的字符是:', str8_1) print('全部替换后的字符是:', str8_2) # 只替换第三个a:先替换3个,再将前边2个换回来.只替换第n-m个同理,先替换m个,再把前边n个替回来. str8_4 = str8_1.replace('A', 'a', 2) print('只替换第三个a:', str8_4)# 字符串的拆分: # str.split(sep,max_split)把字符串在sep处截断拆分,并删除sep,默认是空白字符:空格,换行\n,\t, # max_split为拆分次数,默认全部拆分 # 结果是一个列表 str9 = 'good good study and day day up!and never give up!' str9_1 = str9.split('and') str9_2 = str9.split(' ') str9_3 = str9.split(' ',2) print('按照and分割:', str9_1) print('按照空格分割:', str9_2) print("按照空格拆分,只拆分2次", str9_3)# 字符串的链接 # str.join(列表)主要是用列表拼接,也可以用其他容器 # 将字符串插入到列表中两个数据之间,要求列表中的数据必须全部是字符串 str10 = ' ' list1 = ['good', 'good', 'study', 'and', 'day', 'day', 'up!and', 'never', 'give', 'up!'] str10_1 = str10.join(list1) # 可以用自定义的变量 str10_2 = str10.join(str9.split('and')) # 拆分结果也是列表 print(str10_1) print(str10_2)
相关文章:
Python基础学习004——for循环与字符串
""" 1.for循环基本语法 2.做指定次数的循环,range()函数 3.continue的使用 4.字符串的定义与使用:转义符,原生字符 5.获取字符串长度,字符串索引的使用 6.切片,翻转字符串 7.字符串的查找find 8.字符串的替换replace 9.字符串的拆分split 10.字符串的链接join &…...

【发展史】鼠标的发展史
最早可以追溯到1952年,皇家加拿大海军将5针保龄球放在能够侦测球面转动的硬件上,这个硬件再将信息转化成光标在屏幕上移动,用作军事计算机输入。这是我们能够追溯到的最早的依靠手部运动进行光标移动的输入设备。但当时这个东西不叫鼠标&…...
ThinkPHP6 多应用模式之验证码模块的配置与验证
Thinphp6 官方的验证码模块的配置是有问题的,或者说需要手工配置。 在配置期间,我尝试了多种(包括按照官方文档、路由等)方法都验证失败。 存在2个问题: 1、多应用模式下,验证码的配置文件依然读取全局的…...

数据结构笔记——树和图(王道408)(持续更新)
文章目录 传送门前言树(重点)树的数据结构定义性质 二叉树的数据结构定义性质储存结构 二叉树算法先中后序遍历层次展开法递归模拟法 层次遍历遍历序列逆向构造二叉树 线索二叉树(难点)定义线索化的本质 二叉树线索化线索二叉树中…...

Redis 主从
目录 编辑一、构建主从架构 1、集群结构 2、准备实例和配置 (1)创建目录 (2)修改原始配置 (3)拷贝配置文件到每个实例目录 (4)修改每个实例的端口,工作目录 &a…...

嵌入式学习笔记(63)位操作实战
(1)给定一个整型数a,设置a的bit3,保证其他位不变。 a | (1<<3) (2)给定一个整形数a,设置a的bit3~bit7,保持其他位不变 a | (0x1f<<3) (3)给定一个整型数a,清除a的bit15,保证其他位不变。 a …...
8位机adc采样正弦波频率
相位/峰峰值高电平? 检 测峰值电压? y 开始计数 检测零电压 y 计数器值16ms/20ms 斩波开x关x延时 tt 频率 1/2t 电路 增减常数 aT...
react中使用监听
在 React 中,您可以使用 addEventListener 函数来监听事件。以下是一个示例: import React, { useRef, useEffect } from react;function App() {const inputRef useRef(null);useEffect(() > {inputRef.current.addEventListener(input, handleInp…...

Java基础总结
0、Java语言 1.java和c 2.编译和解释 3.jre和jdk,jvm 简单来说,编译型语言是指编译器针对特定的操作系统将源代码一次性翻译成可被该平台执行的机器码;解释型语言是指解释器对源程序逐行解释成特定平台的机器码并立即执行。 Java 语言既具…...

基于SSM的OA办公系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...

【第25例】IPD体系进阶:需求分析团队RAT
目录 简介 RAT CSDN学院相关内容推荐 作者简介 简介 RAT是英文Requirement Analysis Team英文首字母的简称,也即需求分析团队,每个产品线都需要设定对应的一个RAT的组织。 RAT主要负责产品领域内需求的分析活动,是RMT的支撑团队: 这个时候可以将RAT细化为PL-RAT团队,…...

5G与无人驾驶:引领未来交通的新潮流
5G与无人驾驶:引领未来交通的新潮流 随着5G技术的快速发展和普及,无人驾驶技术也日益受到人们的关注。5G技术为无人驾驶提供了更高效、更准确、更及时的通信方式,从而改变了我们对交通出行的认知和使用方式。本文将探讨5G技术在无人驾驶领域的…...
FreeRTOS学习2018.6.27
《FreeRTOS学习》 1.freeRTOS基本功能函数: 定义任务:ATaskFunction(); 创建任务:xTaskCreate(); 改优先级:vTaskPrioritySet(); 系统延时:vTaskDelay(); 精确延时:vTaskDelayUntil(); 空闲任务钩子函数&…...
【异常】理解Java中的异常处理机制
标题:理解Java中的异常处理机制 摘要: 异常处理是Java编程中的重要概念之一,它可以帮助开发者识别和处理程序运行过程中的错误和异常情况。本文将深入探讨Java中的异常处理机制,包括异常的分类、异常处理的语法和最佳实践。通过示…...
很久没写JAVA程序了,原来用GMAIL发送邮件这么简单
写完代码,配置了GMAIL,死活发布出去,碰到了错误535-5.7.8 Username and Password not accepted. 首先先写代码,然后配置GMAIL. 第一写代码: 当你需要在 Spring Boot 中实现邮件通知时,你可以使用 Spring 的 JavaMailSender 来发送电子邮件。首先,确保你的 Spring Boo…...

Spring Security获得认证流程解析(示意图)
建议先看完Spring Security总体架构介绍和Spring Security认证架构介绍,然后从FilterChainProxy的doFilterInternal函数开始,配合文章进行debug以理解Spring Security认证源码的执行流程。 在之前的Spring Security认证架构介绍中,我们已经知…...
scrapy typeerror: attrs() got an unexpected keyword argument ‘eq‘
问题: scrapy 爬虫程序报错 scrapy typeerror: attrs() got an unexpected keyword argument eq原因: Twisted 版本过高 解决方法: # 安装指定版本 pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ Twisted21.7.0# 几个可…...

非侵入式负荷检测与分解:电力数据挖掘新视角
电力数据挖掘 概述案例背景分析目标分析过程数据准备数据探索缺失值处理 属性构造设备数据周波数据模型训练 性能度量推荐阅读 主页传送门:📀 传送 概述 摘要:本案例将根据已收集到的电力数据,深度挖掘各电力设备的电流、电压和功…...

抽丝剥茧,Redis使用事件总线EventBus或AOP优化健康检测
目录 前言 Lettuce 什么是事件总线EventBus? Connected Connection activated Disconnected Connection deactivated Reconnect failed 使用 一种另类方法—AOP 具体实现 前言 在上一篇深入浅出,SpringBoot整合Quartz实现定时任务与Redis健康…...
【Tailwind CSS】当页面内容过少,怎样让footer保持在屏幕底部?
footer通常写版权信息等,显示在页面底部。如果页面内容过少,则footer会出现在屏幕中间位置,很尴尬。在 Tailwind 中,你可以使用flex来实现footer保持在屏幕或页面底部。 代码: <div class"flex flex-col min…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...