当前位置: 首页 > news >正文

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&#xff0c;设置a的bit3&#xff0c;保证其他位不变。 a | (1<<3) (2)给定一个整形数a&#xff0c;设置a的bit3~bit7&#xff0c;保持其他位不变 a | (0x1f<<3) (3)给定一个整型数a&#xff0c;清除a的bit15&#xff0c;保证其他位不变。 a …...

8位机adc采样正弦波频率

相位/峰峰值高电平&#xff1f; 检 测峰值电压&#xff1f; y 开始计数 检测零电压 y 计数器值16ms/20ms 斩波开x关x延时 tt 频率 1/2t 电路 增减常数 aT...

react中使用监听

在 React 中&#xff0c;您可以使用 addEventListener 函数来监听事件。以下是一个示例&#xff1a; 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&#xff0c;jvm 简单来说&#xff0c;编译型语言是指编译器针对特定的操作系统将源代码一次性翻译成可被该平台执行的机器码&#xff1b;解释型语言是指解释器对源程序逐行解释成特定平台的机器码并立即执行。 Java 语言既具…...

基于SSM的OA办公系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…...

【第25例】IPD体系进阶:需求分析团队RAT

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

5G与无人驾驶:引领未来交通的新潮流

5G与无人驾驶&#xff1a;引领未来交通的新潮流 随着5G技术的快速发展和普及&#xff0c;无人驾驶技术也日益受到人们的关注。5G技术为无人驾驶提供了更高效、更准确、更及时的通信方式&#xff0c;从而改变了我们对交通出行的认知和使用方式。本文将探讨5G技术在无人驾驶领域的…...

FreeRTOS学习2018.6.27

《FreeRTOS学习》 1.freeRTOS基本功能函数&#xff1a; 定义任务&#xff1a;ATaskFunction(); 创建任务&#xff1a;xTaskCreate(); 改优先级&#xff1a;vTaskPrioritySet(); 系统延时&#xff1a;vTaskDelay(); 精确延时&#xff1a;vTaskDelayUntil(); 空闲任务钩子函数&…...

【异常】理解Java中的异常处理机制

标题&#xff1a;理解Java中的异常处理机制 摘要&#xff1a; 异常处理是Java编程中的重要概念之一&#xff0c;它可以帮助开发者识别和处理程序运行过程中的错误和异常情况。本文将深入探讨Java中的异常处理机制&#xff0c;包括异常的分类、异常处理的语法和最佳实践。通过示…...

很久没写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认证架构介绍&#xff0c;然后从FilterChainProxy的doFilterInternal函数开始&#xff0c;配合文章进行debug以理解Spring Security认证源码的执行流程。 在之前的Spring Security认证架构介绍中&#xff0c;我们已经知…...

scrapy typeerror: attrs() got an unexpected keyword argument ‘eq‘

问题&#xff1a; scrapy 爬虫程序报错 scrapy typeerror: attrs() got an unexpected keyword argument eq原因&#xff1a; Twisted 版本过高 解决方法&#xff1a; # 安装指定版本 pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ Twisted21.7.0# 几个可…...

非侵入式负荷检测与分解:电力数据挖掘新视角

电力数据挖掘 概述案例背景分析目标分析过程数据准备数据探索缺失值处理 属性构造设备数据周波数据模型训练 性能度量推荐阅读 主页传送门&#xff1a;&#x1f4c0; 传送 概述 摘要&#xff1a;本案例将根据已收集到的电力数据&#xff0c;深度挖掘各电力设备的电流、电压和功…...

抽丝剥茧,Redis使用事件总线EventBus或AOP优化健康检测

目录 前言 Lettuce 什么是事件总线EventBus&#xff1f; Connected Connection activated Disconnected Connection deactivated Reconnect failed 使用 一种另类方法—AOP 具体实现 前言 在上一篇深入浅出&#xff0c;SpringBoot整合Quartz实现定时任务与Redis健康…...

【Tailwind CSS】当页面内容过少,怎样让footer保持在屏幕底部?

footer通常写版权信息等&#xff0c;显示在页面底部。如果页面内容过少&#xff0c;则footer会出现在屏幕中间位置&#xff0c;很尴尬。在 Tailwind 中&#xff0c;你可以使用flex来实现footer保持在屏幕或页面底部。 代码&#xff1a; <div class"flex flex-col min…...

Docker基础管理

这里写目录标题 Docker基础管理一.Docker 概述1.Docker介绍2.Docker与虚拟机的区别3.容器在内核中支持2种重要技术4.Docker核心概念 二.安装Docker1.安装依赖包2.配置文件及相关 三.Docker操作1.镜像操作2.容器操作 Docker基础管理 一.Docker 概述 1.Docker介绍 Docker是一个…...

基于YOLOv8模型的烟雾目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型的烟雾目标检测系统可用于日常生活中检测与定位烟雾目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集…...

【代码随想录01】数组总结

抄去吧&#xff0c;保存去吧&#xff01;...

(SpringBoot)第二章:Spring创建和使用

文章目录 一:Sring创建(1)创建一个Maven项目(2)添加Spring框架支持(3)添加启动类二:存储Bean(1)创建Bean(2)将Bean注册到Spring中三:获取并使用Bean(1)创建Spring上下文(2)获取指定Bean(3)使用Bean注意:在Java中对象也叫做Bean,所以后续文章中用Bean代替对…...

力扣刷题 day56:10-26

1.解码异或后的数组 未知 整数数组 arr 由 n 个非负整数组成。 经编码后变为长度为 n - 1 的另一个整数数组 encoded &#xff0c;其中 encoded[i] arr[i] XOR arr[i 1] 。例如&#xff0c;arr [1,0,2,1] 经编码后得到 encoded [1,2,3] 。 给你编码后的数组 encoded 和原…...

『第四章』一见倾心:初识小雨燕(上)

在本篇博文中,您将学到如下内容: 1. 基本数据类型2. 基本操作符3. 枚举和结构4. 类和 Actor5. 属性、方法与访问控制6. 聚集总结夜月一帘幽梦,春风十里柔情。 无声交谈情意深,一见心曲绕梁成。 1. 基本数据类型 无论是 macOS 还是 iOS 上的开发,Swift 基础类型和功能都内置于…...

elasticsearch-7.9.3 单节点启动配置

一、elasticsearch-7.9.3 单节点启动配置 node.name: node-1 network.host: 192.168.227.128 http.port: 9200 discovery.seed_hosts: ["192.168.227.128"] node.max_local_storage_nodes: 1 discovery.type: single-node二、kibana-7.9.3-linux-x86_64 单节点启动配…...

【2024秋招】2023-10-9 同花顺后端笔试题

1 Hashmap mp new hashmap&#xff08;50&#xff09;的大小扩充了几次 初时应该就给了这么多空间&#xff0c;在不考虑添加元素&#xff0c;所以扩容为0次 2 算数表达式的中缀为ab*c-d/e&#xff0c;后缀为abc*de/-&#xff0c;前缀是&#xff1f; 3 50M电信带宽&#xff…...

完美的错误处理:Go 语言最佳实践分享

Go 语言是一门非常流行的编程语言&#xff0c;由于其高效的并发编程和出色的网络编程能力&#xff0c;越来越受到广大开发者的青睐。在任何编程语言中&#xff0c;错误处理都是非常重要的一环&#xff0c;它关系到程序的健壮性和可靠性。Go 语言作为一门现代化的编程语言&#…...

vue首页多模块布局(标题布局)

<template><div class"box"><div class"content"><div class"box1" style"background-color: rgb(245,23,156)">第一个</div><div class"box2" style"background-color: rgb(12,233,…...