二 String (字符串)
在python中 字符串使用 单引号(”) 或者双引号括起来(“”) 称为字符串 可以使用反斜线(\)来转义特殊字符
字符串的截取的语法格式:
变量名[头下标:尾下标:步长]
索引值 从 0 开始,-1代表末尾的位置
实例:
myStr = "abcde"
#单个的索引值
myStr[0] #a
myStr[1] #b
#给头下标和尾下标(起始位置 终止位置)
myStr[0:3] #abc
#只给尾下标(从头开始 截取到当前的尾下标的位置)
myStr[:3] #abc
myStr[:2] #ab
#只给头下标 不给 尾下标(会从当前的头下标的位置 一直截取到最后)
myStr[0:] #abcde
#不给头下标也不给尾下标的情况 (从头截取到尾 相当于输出当前字符串的变量名)
myStr[:] #abcde
相当于:
print(myStr)
#尾下标为负数的情况(代表从后往前查 最后一个为 -1)
myStr[-1] #e
myStr[-2] #d
myStr[-2:] #de
myStr[:-1] #abcd
#头下标 尾下标 步长
myStr[0:3:1] #abc 此刻步长1有没有都一样
myStr[0:3:2] #ac
#步长为负数的情况
myStr[-1:0:-1] #edcb
注意:不包含尾下标的本身
字符串的 +和*的操作
实例:
#+链接的操作
h = "hello"
w = "world"
hw = h+" "+w
print(hw)# hello world
#*重复的操作
print("*"*3) #*** 将当前的*重复3次
字符串的转义字符
使用反斜线(\)进行转义
\’ | 转义单引号 | \” | 转义双引号 |
---|---|---|---|
\\ | 转义本身 | \n | 换行 |
\t | 水平制表符 |
字符串的格式化输出
- format()
- %
例子:
#format 格式化输出
print("我今年{}岁了 我叫{}".format(age,name))
#%格式化 %d占位的就是 整数 %s 占位字符串
print("我今年%d岁了 我叫%s"%(age,name))
注意:
- 字符串的单个值 不能进行修改
- +字符串的链接 *字符串的重复
- 字符串的索引值从0开始 -1代表末尾
- 反斜线 可以将特殊意义的字符转义
字符串常用的函数
函数名 | 函数的说明 |
---|---|
isnumeric() | 判断是否是数字字符串 返回True False,Str.isinstance() |
join() | 以指定字符作为分隔符 并形成一个新的字符串,#.join(Str) |
center() | 以原始字符串为中心 填充成一个新的字符串,Str.center(20,#) |
ljust()/rjust() | 返回一个以原始字符串 左/右对齐 并填充成一个新的字符串Str.ljust(20,#) |
lstrip()/rstrip()/strip() | 默认去除左/右/俩侧空白字符(去除指定字符) 字符不存在也不报错,Str.lstrip(‘a’) |
chr() | 将ASCII值转换成对应的字符,chr(97) |
ord() | 将字符转换成对应的ASCII值,ord(‘a’) |
replace(str1,str2,次数) | 把str1替换成str2 第三个为替换的次数,Str.replace(‘a’,’b’,2) |
find() | 字符串的查找 从左往右查 查到结果返回索引位置 匹配不到结果返回-1,Str.find(‘a’) |
rfind() | 字符串的查找 从右往左查 查到结果返回索引位置 匹配不到结果返回-1,Str.rfind(‘a’) |
split() | 拆分 将当前的字符串 拆分成一个列表,Str.split(‘b’) |
upper() | 将字符转换成大写,Str.upper() |
lower() | 大写字母转换成小写,Str.lower() |
splitlines(参数) | 以回车换行符 作为分割 参数用来设置是否保留换行符,Str.splitlines(True) |
三 List 列表
List列表 是Python中使用最频繁的数据类型
列表的定义:
列表是写在中括号之间([列表的值]) 使用逗号来作为 值的 分隔**
实例:
myList = [1,2,3,4,5,6]
#值的修改
myList[0] = 'a' #将索引0所对应的值 该成a
myList[0:2] = 'd' #将索引值0-2的值 替换成 d
#值的删除
del myList[0] #删除索引0所对应的值
myList[0:2] = [] #将索引值0-2的值 删掉
注意:取值 和 字符串是一样的
错误的写法
del myList[0],myList[2] #会报IndexError 索引错误
多维列表:
[[列表1],[列表2]] 二维列表
实例:
myList = [['a', 'b', 'c'], ['d', 'e', 'f']]
#取值
myList[1][2] #f
myList[0][2] #c
注意:
- 列表中的某个索引所对应的值 可以进行修改或删除
- 列表中的+用来连接的
- 列表中的 * 重复的次数
列表中的常用函数:
函数名 | 函数的说明 |
---|---|
len() | 计算长度,len(List) |
list.count() | 统计某个值在列表中 出现的次数,list.count(‘a’) |
list.extend() | 像列表中追加多个值/列表,list.extend([‘a’,’b’]) |
list.insert() | 像列表中插入值/列表,list.insert(0,’a’) |
list.pop() | 将列表的最后一个值弹出 并返回,list.pop() |
list.remove() | 将列表中的第一个匹配项移除,list.remove(‘a’) |
list.reverse() | 反转列表 |
list.clear() | 清空列表 |
copy.copy() | 列表的复制(浅拷贝) 只复制一层,myList1=copy.copy(myList) |
copy.deepcopy() | 列表的复制(深拷贝) 复制多层,myList1=copy.deepcopy(myList) |
list.append() | 像列表中添加一个值,list.append(‘a’) |
myList = [1,2,3,4]
myList1 = [1,2,3,4]
myList.append(['a','b'])
print(myList)
myList1.extend(['a','b'])
print(myList1)
#输出
[1, 2, 3, 4, ['a', 'b']]
[1, 2, 3, 4, 'a', 'b']
append和extend
当添加的都是一个值时,结果相同
当添加的为列表时,append是将整个列表当做一个元素添加进原列表
extend是将列表中的元素添加到原列表