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…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
