python笔记005-字符串-列表-元组
目录
1 上次作业补充拓展... 1
1.1 进制转换... 1
1.2 类型判断... 1
2 今日学习内容... 2
2.1 格式化输出... 2
2.2 基本运算符... 2
2.2.1 算术运算... 2
2.2.2 比较运算... 2
2.2.3 赋值运算... 3
2.2.4 逻辑运算... 3
2.3 编码... 3
2.3.1 存储单位... 3
2.3.2 编码... 4
2.4 切片... 4
2.4.1 切片处理... 4
2.4.2 字符串处理... 4
2.4.3列表处理... 8
1 上次作业补充拓展
1.1 进制转换
format()
补充:‘b’二进制 ‘o’八进制 ‘d’十进制 ‘x’十六进制
例:print(format(number,'b'))
int(string,number)将任意进制的字符转化为十进制
1.2 类型判断
type() 查询类型
isinstance() 判断一个对象是否是一个已知的类型,如若需要判断两个类型是否相同,推荐使用此函数
isinstance(object,classinfo) classinfo 可以直接是或间接类名,基本类型或者是它们构成的元组
isinstance()返回一个布尔类型
raise 显示引发的异常,程序出错时Python自动触发异常,也可以通过raise显示引发的异常。(相当于抛出异常)
执行raise后,后面的程序不再运行
2 今日学习内容
2.1 格式化输出
%s 字符占位符
%d 数字占位符
注意:"%d" 在Python中是不存在的,一般用%%表示字符串中%。但是如果语句中没有%d,%s等占位符,直接写一个%就好。
2.2 基本运算符
2.2.1 算术运算
+ - * / %(取余数) //(取整除) **(幂)
2.2.2 比较运算
== != <>(不等于) > < >= <=
2.2.3 赋值运算
= +=(自增运算) -=(自减运算) *= /=
//= %=
**=(幂等 a ** = b 等价于 a = a*a*b)
2.2.4 逻辑运算
or and not
逻辑运算的优先级顺序 :
() > not > and >or
2.3 编码
2.3.1 存储单位
bit 最小的存储单位
8 bit = 1 Byte 一字节
1024 B = 1 KB (KiloByte) 千字节
1024 KB = 1 MB (MegaByte) 兆字节
1024 MB = 1 GB (GigaByte) 吉字节
1024 GB = 1 TB (TeraByte) 太字节
1024 TB = 1 PB (PetaByte) 拍字节
1024 PB = 1 EB (ExaByte) 艾字节
1024 EB = 1 ZB (ZetaByte) 泽字节
1024 ZB = 1 YB (YottaByte) 尧字节
1024 YB = 1 BB (Brontobyte) 珀字节
1024 BB = 1 NB (NonaByte) 诺字节
1024 NB = 1 DB (DoggaByte) 刀字节
2.3.2 编码
ASCII :最多支持256个字符。具体内容请自行百度
GBK :仅限中国地区使用,每个字符占16位(2字节)
Unicode :万国码
UTF-8 :每个字符最少占8位
UTF-16: 每个字符占16位
2.4 切片
2.4.1 切片处理
使用下标来获取部分字符串内容
print(字符串名[开始位置:结束位置:截取步长]
注意:截取顾头不顾尾,设置步长则会进行跳跃式截取
2.4.2 字符串处理
① str.capitalize() :字符串首字母大写
② str.lower() :字符串全部小写
③ str.upper() :字符串全部大写
④ str.title() :字符串每个单词首字母进行大写
⑤ str.center() :字符串居中处理
⑥ str.strip() :去除字符串左右两端空格
⑦ str.lstrip() :去除字符串左边空格
⑧ str.rstrip() :去掉字符串右边空格
⑨ str.replace("要被更换的内容","更改的内容")
字符串的部分替换
str.split("切割标记") :对字符串按标记进行切割
注意:字符串的位置不同,导致截取的结果可能也不同(注意缩进)
s9 = """
左牵黄
右擎苍
锦帽貂裘
千骑卷平冈
为报倾城随太守
亲射虎
看孙郎
"""
print(s9.split("\n"))
输出结果:
['', '左牵黄', '右擎苍', '锦帽貂裘', '千骑卷平冈', '为报倾城随太守', '亲射虎', '看孙郎', '']
情况二:
s9 = """左牵黄
右擎苍
锦帽貂裘
千骑卷平冈
为报倾城随太守
亲射虎
看孙郎"""
print(s9.split("\n"))
输出结果:
[ '左牵黄', '右擎苍', '锦帽貂裘', '千骑卷平冈', '为报倾城随太守', '亲射虎', '看孙郎']
所以需要注意,字符串的位置不同,导致截取的结果可能也不同
str = "XXX%s,XXX%s"%(内容一,内容二)
str = "XXX{},XXX{}".format(内容一,内容二)
注意:如无特别注明,默认按照顺序打印对应内容,不同的出入方式,所打印的结果也可能会有所不同
例:
str = "我叫{},今年{}岁了".format("kaka",2)
str = "我叫{name},今年{age}岁了".format(name ="kaka",age = 2)
str = "我叫{1},今年{2}岁了".format("kaka",2)
① str.startswith("要判断的文字") : 判断字符串的开头,返回布尔类型
② str.endswith("要判断的文字"):判断字符串的结尾,返回布尔类型
③ str.count("要统计的文字"):统计字符串中某字符出现的次数
④ str.find("要查找的文字"):查找字符串中的某个字符位置,如果未查询到,返回 -1
⑤ str.find("要查找的文字",开始位置,结束位置):从指定位置查找字符(切片式查找),找到第一个出现的位置。如果未查询到,返回-1
⑥ str.index("要查找的字符"):查找特定字符的位置,如果未查询到,报告错误
⑦ str.isalnum() :判断字符串是否全是字母或数字组成
⑧ str.isalpha() :判断字符串是都全是字母组成 注意:判断时,空格也会被进行判断
⑨ str.isdigit() :判断字符串是否只由数字组成。
⑩ str.islower() :判断字符串是否由小写字母组成。
⑪ str.isnumeric() :判断字符串是否只由数字组成。注意:一、这种方法是只针对unicode对象。二、定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可
⑫ str.isspace() :判断字符串是否只由空格组成
⑬ str. istitle() :判断字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
⑭ str.isupper():判断字符串中所有的字母是否都为大写
⑮ str.join(要连接的元素序列) :将序列中的元素以指定的字符连接生成一个新的字符串
2.4.3列表处理
2.4.3.1 常见操作
len(对象名):当前字符串长度(内置函数,可直接调用)
print(list[索引下标])
print(list[索引下标][元素内字符下标])
print(list[索引开始下标:索引结束下标:截取步长])
注意:截取顾头不顾尾,设置步长则会进行跳跃式截取,“-”代表倒取,即从末端位置反向截取
2.4.3.2 列表的增删改查操作
2.4.3.2.1 增
增 append方法(末端添加)
例:
list = []
while True:
content = input("请输入您的信息,输入Q退出!!!")
if content.upper() == 'Q':
break
list.append(content)
print(list)
2.4.3.2.2 删
pop方法
注意:pop(指定位置下标),下标若未指明,则默认删除最后一个
del方法(切片式删除)
del[删除开始位置:删除结束位置]
改(切片式修改)
list[开始下标:结束下标:截取步长]= [对应修改的元素]
注意:截取顾头不顾尾,设置步长则会进行跳跃式截取,“-”代表倒取,即从末端位置反向截取
2.4.3.3 输出
循环输出
for item in 列表名:
print(item)
2.4.3.4 列表的嵌套
采用降维操作,一层一层的去找,切勿心急
例:
list = ["张三","李四","王五","赵六","田七",["CXK","101","Sky","801","183"]]
print(list[-1][0:2])
输出结果
['CXK', '101']
2.4.3.5 元组的嵌套
元组元素不可修改,但是如果其中嵌套的有列表等可变形式,那么这个可变形式中的元素可以进行修改。
换言之,元组的不可变性只针对子元素,如若子元素的内部是可变对象,那么,元组中的子元素的子元素是可变的。
参考笔记:https://home.cnblogs.com/u/tjlhappyboy/ 感谢博主
python笔记005-字符串-列表-元组的更多相关文章
- day5_python学习笔记_chapter6_字符串列表元组
1. 序列:seq[n], seq[x:y], seq * n序列重复n次,切片, 序列翻转 s=”abcde", s[::-1]="edcba" 内建函数:1. 类型转 ...
- Python自动化开发 - 字符串, 列表, 元组, 字典和和文件操作
一.字符串 特性:字符串本身不可修改,除非字符串变量重新赋值.Python3中所有字符串都是Unicode字符串,支持中文. >>> name = "Jonathan&q ...
- python笔记(1)--序列(列表 元组 range)
一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...
- python笔记(2)--字符串
一.字符串 字符串是不可变序列,具有序列的公共操作方法,具体操作见python笔记(1)--序列(列表 元组 range) 1.创建字符串 单引号:'Hello , I am Logan ! ' 双引 ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
- Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式
Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell ...
- python字符串/列表/元组/字典之间的相互转换(5)
一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...
- python字符串列表元组序列操作
Table of Contents generated with DocToc python系列-字符串.列表.元组的操作 序列的访问及运算符 序列通用操作 访问单个元素 切片访问一部分元素 序列的复 ...
- python 字符串,列表,元组,字典相互转换
1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 字典转为字符串,返回:<type 'str'> {'age': 7, 'n ...
- python基础之02列表/元组/字典/set集合
python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...
随机推荐
- Spring Cloud Gateway(六):路由谓词工厂 RoutePredicateFactory
本文基于 spring cloud gateway 2.0.1 1.简介 Spring Cloud Gateway 创建 Route 对象时, 使用 RoutePredicateFactory 创建 ...
- [Shell]Powershell反弹shell
原作者:Cream 文章出处: 贝塔安全实验室 0x01 Powershell反弹shell Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 . ...
- oracle之nvl,nvl2,decode
oracle sql常用查询nvl,nvl2,decode区别及使用方法 1,NVL( E1, E2) 如果E1为NULL,则NVL函数返回E2的值,否则返回E1的值,如果两个参数都为NULL ,则返 ...
- 使用HttpClient调用WebAPI接口,含WebAPI端示例
API端: using log4net; using System; using System.Collections.Generic; using System.IO; using System.L ...
- TynSerial序列(还原)TClientDataSet
TynSerial序列(还原)TClientDataSet 可以一次性序列(还原)多个TClientDataSet. 1)TClientDataSet查询数据 procedure TForm1.Qry ...
- Matlab图像处理——中值滤波medfilt2问题解决
本文链接:https://blog.csdn.net/Pxzly1117/article/details/79201772程序: I=imread('13.jpg');%读入图像imshow(I);h ...
- Redis搭建集群
- C++在线编程网站
1.推荐 http://www.dooccn.com/cpp/ 2.https://wandbox.org/ 3.https://www.tutorialspoint.com/compile_cpp_ ...
- java如何压缩多个文件到压缩包,并下载到浏览器?
java压缩多个文件到压缩包,并下载到浏览器 解决方法: 完整的方法如下,很简单,亲试有效,极力推荐. 我是以流作为文件,而不是file,循环把所有pdf文件压缩到pdf.zip压缩包中. 1.前 ...
- Core Data 多表关联
1.概念简介 coreData中存在复杂的数据关系时,一张表难以满足需求,此时就需要了解使用coreData多表的关联使用. 如 课程表 和 章节表 的关系:一个课程跟章节的对应关系是 一对多,单一个 ...