python程序开发第四课:数据结构(2)元组(3)字符串
一、元组
1.1 元组简介
特点:
元组也是有序的数据结构【有先后顺序】
可以通过偏移来获取元素
元组是不可变的对象【不能原地修改】
元组不能进行排序和修改操作【元组中的元素不能修改】
定义元组
元组名 = (元素,元素,元素,元素,)
特殊元组
空元组
有一个元素的元组
区分乘法运算
a = []
print(a)b = ()
print(b)c = ("tom",)
print(c)d = ("tom","jerry")
print(d)s1 = 3*(1+4)
print(s1)s2 = 3*(1+4,)
print(s2)
1.2 元组操作
操作1:从元组中取数据
s = ("tom","jerr","bob","jack")
name = s[2]
print(name)name = s[1:]
print(name)
操作2:类型转换
- 方法:tuple(列表)
案例:将元组的第三个元素修改为tuoni
s = ("tom","jerr","bob","jack") #定义元组
li = list(s) # 转换为列表
li[2] = "tuoni" #修改元素
s = tuple(li) # 转换成元组print(s)
3.3 集合简介
集合的类别:
不可变集合
可变集合
集合的操作
创建集合
添加集合
删除集合
成员关系
交集、差集、并集
去重
3.4 集合的操作
操作1:创建集合
- set() 创建的是不可变集合
- frozenset() 创建的是可变集合
s = set("tom") # 创建集合
print(s)
操作2:在集合添加元素
add:将目标作为整体添加到集合中
update:将目标拆分成一个一个的元素添加到集合中
s = set("tom")
print(s) # 输出结果 {'t', 'm', 'o'}s.add("jerry")
print(s)s.update("abc")
print(s)s.update("aaaaaaaa")
print(s)
操作3:删除集合中的元素
- remove
s = set("tom")
print(s) # 输出结果 {'t', 'm', 'o'}s.remove("m")
print(s)
操作4:成员关系
in
not int
操作5:交集并集差集
a = set("12345")
b = set("24689")# 获取集合a 和 集合b中都有数字【交集】
res = a & b
print(res)# 获取集合a 和 集合b中的全部的数字,重复的数字只显示依一次【并集】
res = a | b
print(res)# 获取集合a 中有,但是基b中没有的数字【差集】
res = a - b
print(res)# 获取集合a 中有,但是基a中没有的数字【差集】
res = b - a
print(res)
操作6:去重
li = [7,1,2,1,3,1,1,9] # 定义列表
res = set(li) # 将列表转换成集合【集合有自动去重的特效,所以可以实现去重效果】
li = list(res) # 将去重的结果再转换成列表
print(li)
二、字符串
2.1 基础特性
支持序列类型的所有基础操作
切片
索引
加法
乘法
定义字符串:
str = "xxxx"
str = "abcdefghigklmn" # 定义字符串
str1 = str[3:7] # 切片
print(str1)str2 = str[4] # 索引
print(str2)s1 = "hello "
s2 = "boys"
s = s1 + s2 # 加法
print(s)print(s1 * 5) # 乘法
查看数据类型 :
s = "abc"
print(type(s)) # 输出类型是str,表示是字符串l = ["abc"]
print(type(l)) # 输出类型是list,表示是列表t = ("abc",)
print(type(t)) # 输出类型是tuple,表示是元组d = {"name":"tom","age":18}
print(type(d)) # 输出类型是dict,表示是字典
2.2 字符串操作
1)访问字符串的子串
- 通过切片
案例:打印字符串的倒数第二个字符
s = "abcdefghijklnm"
# 方法1
print(s[-2])# 方法2
num = len(s)
print(s[num-2])
2)字符串替换
方法:
str.replace("目标","替换结果",[替换几个])
案例:将字符串中的c替换成1234
s = "abcdefghcjclnmc"
s = s.replace("c","1234") # 将全部的c都替换成123
print(s)s = s.replace("c","1234",2) # 将前两个c替换成123
print(s)
3)字符串拼接
方法1:用 + 进行拼接
s1 = "aaa"
s2 = "bbb"
s3 = "ccc"
s = s1 + s2 + s3
print(s)
方法2:在输出的时候,用占位符进行拼接
s1 = "aaa"
s2 = "bbb"
s3 = "ccc"
print("%s%s%s"%(s1,s2,s3))
方法3:结合列表的和join方法进行拼接
s1 = "aaa"
s2 = "bbb"
s3 = "ccc"
s = "".join([s1,s2,s3])
方法4:格式化
s1 = "aaa"
s2 = "bbb"
s3 = "ccc"print("{}{}{}".format(s1,s2,s3))
print("{str1}{str2}{str3}".format(str1=s1,str2=s2,str3=s3))
2.3 字符串方法
方法1:find
返回指定的字符在字符串中的索引值
如果字符串中没有这个字符,会返回-1
默认情况下,会从最左侧开始查找,找到第一个字符后,会停止
也可以指定从哪个字符开始查找
格式:str.find("目标",[start])
案例:让用户随意输入一个字符串,字符串中必须有两个c,打印输出这两个字符的索引值
userInput = input("please enter something: ")
num1 = userInput.find("c")
num2 = userInput.find("c",num1+1)
print(num1,num2)
方法2:index
返回指定的字符在字符串中的索引值
如果字符串中没有这个字符,会抛出异常
默认情况下,会从最左侧开始查找,找到第一个字符后,会停止
也可以指定从哪个字符开始查找
格式:str.index("目标",[start])
方法3:join方法
用于将列表中的元素拼接字符串
列表中的元素必须全部都是字符串类型,否则报错
格式:"+".join(列表)
案例
l = ["1","a","qq","d"]
s = "".join(l)
print(s)
案例2:将列表l = ["a","qq","cd1",123, 3.14, "6"] 中的全部的元素转换为字符串类型【用两种方法实现】
li = ["a","qq","cd1",123, 3.14, "6"]
for num in range(len(li)):
li[num]=str(li[num])
print(li)
案例3:将列表num = [1,3,5,7,9]中的内容输出成1+3+5+7+9
li=[1,3,5,7,9]
for num in range(len(li)):
li[num]=str(li[num])s="+".join(li)
print(s)
方法4:大小写转换
lower:将内容全部转换为小写
upper:将内容全部转换为大写
title:将自带一个字母转换为大写,其他全部都自动转换为小写
方法5:split方法
作用:将字符串转换为列表
split方法可以指定用哪个字符对字符串进行切割
str = "i love linux and pyhon"
li1 = list(str)
print(li1)li2 = str.split(" ")
print(li2)li3 = str.split("o")
print(li3)
方法6:strip
去除字符串两侧的空格
num=input("输入: ") s=num.strip() print(s)
案例:让用户输入任意内容,将用户输入的内容中的全部空格剔除掉【至少两种方法】
num=input("输入: ") s=num.replace(" ","") print(s)
方法7:判断
isinstance(变量名,变量类型) # 如果变量和类型一致,则返回真;否则返回假
python程序开发第四课:数据结构(2)元组(3)字符串相关推荐
- Python程序开发——第三章 列表与元组
目录 前言 一.列表 (一)列表的创建 (二)访问列表元素 (三)列表的增删改 (四)列表的遍历 (五)列表的排序 (六)列表的嵌套 二.元组 (一)元组的创建 (二)访问元组元素 (三)元组的连接组 ...
- Python程序开发——第四章 字典与集合
目录 一.字典 (一)字典的创建 (二)字典的访问 (三)字典的增删改查 1.字典的添加 2.字典的删除 3.字典的修改 4.字典的查询 二.集合 (一)集合的分类 (二)集合的创建 (三)集合元素的 ...
- Python程序开发——第一章 基本python语法
目录 前言 一.PyCharm (一)创建工程文件夹 (二)创建 python 文件并运行 二.IDLE 三.Python中的注释用法 四.变量的命名事项 五.基本输入和输出函数 (一)输入和输出 ( ...
- python编程课程价格-无锡Python程序开发课程
大数据及机器学习必备语言,推荐9-13岁青少年学习. 帮助孩子掌握Python语言的主要核心基本语法.掌握Python面向对象开发的基本概念.掌握Python和Pygame进行2D游戏开发. 小码研究 ...
- python少儿编程 在线课程-宁波Python程序开发课程
课程详情 大数据及机器学习必备语言,推荐9-13岁青少年学习. 帮助孩子掌握Python语言的主要核心基本语法.掌握Python面向对象开发的基本概念.掌握Python和Pygame进行2D游戏开发. ...
- 少儿编程python线上课程-北京Python程序开发课程
课程详情 大数据及机器学习必备语言,推荐9-13岁青少年学习. 帮助孩子掌握Python语言的主要核心基本语法.掌握Python面向对象开发的基本概念.掌握Python和Pygame进行2D游戏开发. ...
- python 程序开发以及推荐机制设计
参考文章:Python程序开发教程 https://wenku.baidu.com/view/d4efe6396d175f0e7cd184254b35eefdc8d315db.html?from=se ...
- vue小程序开发(四)首页 推荐
vue小程序开发(四)首页 推荐 编写 首页-推荐 模块 推荐-最顶部模块 推荐-月份模块 月份模块标题样式 推荐-热门模块 基本布局 使用scroll-view改造容器 分页功能分析 实现头部固定 ...
- Python+微信小程序开发(四)页面跳转和获取用户信息
上一篇已经介绍了如何搭建一个自己的静态页面,接下来则涉及到一些用户信息获取与跳转的操作. 一.页面跳转 首先新建一个跳转页面,按上篇的操作生成pages/redirect/redirect. 1.对标 ...
最新文章
- 不丢失精度的获取照片的Gps经纬度
- android美颜功能,Android
- 安装sql server 2016 always on配置dtc支持时遇到的问题
- select count
- “百亿补贴”真的能拯救一切吗?
- linux错误代码0x8008005,利用Windows10自带Linux学习(附带:0x8007019e错误解决方法)...
- 鸿蒙系统可以替代安卓吗,华为今天发布的鸿蒙系统,到底能不能替代安卓?
- [转载]大型网站架构演变和知识体系
- WebSocket能干啥
- ios 画带有箭头的线_ios纯色箭头与渐变色箭头的实现
- 字符编码在python中的处理_Python 字符编码处理总结
- 直面程序人生,始于当下,奔赴未来!
- nodejs 写入html,html2markdownnodejs也能写爬虫?记一次blog迁移至Ghost
- Rasa系列教程(二) -- Rasa NLU基础
- 杭电题目分类及简单概况
- Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...
- 【Unity自己写框架】FairyGUI UI框架(一)
- 用友U8C U8Cloud U8 cloud u8c V2.1 2.2 V2.3 V2.4 V2.5 V2.6 V2.7 V3.0 3.1 3.2文件下载
- 学3Dmax有前途吗? 3Dmax有哪些就业方向?
- 关于Unity3D的初步学习研究周记
热门文章
- Java实现 LeetCode 730 统计不同回文子字符串(动态规划)
- Java统计学生成绩
- 7-2 jmu-python-最佳身高 (10分) Python
- 平台联合卖会员、用户拆着挂闲鱼,巨头联名会员卡命宿何方?
- 在Google Play发布应用显示设备数量为0,处理办法
- 信奥中的数学:奇数与偶数
- 2008年度世界五百强500强企业
- 设计师必备特效生成器合集 2022背景快速制作指南
- 如何正确在word中打出 “°”和“°C”
- Matlab中统计矩阵中每个元素出现个数的方法-------tabulate()函数