字符串
常见的
- S.find & S.index (返回该元素最小的索引)
s1 = “hello python”
print(s1.find(“e”)) --> 1 (返回最小的索引)
print(s1.find(“0”)) --> 4 (因为最小)
print(s1.find(“c”)) --> -1 (不会报错,没被找到返回-1)
print(s1.index(“c”)) --> substring not found(index与find作用相同,区别在于s.index查询不存在的字符串时,会报错。而s.find返回-1) - S.replace (替换)
s2 = “hello oldoldamy”
print(s2.replace(“old”), “beautiful”) --> hello beautifulbeautifulamy (默认:全部替换)
print(s2.replace(“old”), “beautiful”, 1) --> hello beautifuloldamy (count:指定替换次数)
print(s2) --> hello oldoldamy (因为是“copy of s”,以未没有改变s2本身) - S.split (以sep来分割字符串)
s3 = “hello everybody yeyeye!”
print(s3.split (" ") --> “hello”, “everybody”, “yeyeye!” (以控股字符串进行分割,那空格字符串消失,返回列表) - S.startwith & S.endwith (判断是否为bool值)
s4 = “hello everybody yeyeye!”
print(s4.startwith(“h”)) --> True (用于判断字符串以什么前缀开始,返回为bool值)
print(s4.endwith(“ye!”)) --> True (用于判断字符串以什么尾缀结束,返回为bool值) - S.lower & S.upper (将字符串转为大小写)
s5 = “n”
print(s5.upper()) --> N
s6 = “N”
print(s6.lower()) --> n - S.strip (去除字符串空格)
s7 = " 一代 明君"
print(s7.strip()) --> 一代 明君 (可以移除首尾空格)
print(s7.replace(" ", “”)) --> 一代明君 (可以去除中间空格) - S.join
s8 = “你好”
print(" “.join(s8)) --> 你 好 (字符串序列–>一个个取出它的元素–>可以迭代的(interable))
li = [“你好”, “世界”]
print(” ".join(li)) --> 你好 世界
字节
字节的介绍
- 在Python3以后,字符串和bytes类型彻底分开。字符串是以字符为单位进行处理,bytes类型是以字节为单位处理的。
- bytes也是不可变的序列对象
- Python3中,bytes通常用于网络数据传输
字节创建
- 创建字节:b""
bt_01 = b’hello’
print(type(bt_01)) --> ,<lass ‘bytes’> - 创建字节:bytes(string, encoding[, errors])
bt_2 = bytes(“hello”, encoding=""utf8)
print(bt_2) --> b’hello’ - 字节与字符串转换
- bytes(字节) 转为 str(字符串) (解码)
bt_1 = b’world’
print(bt_1, decode()) --> world - str(字符串) 转为 bytes(字节) (编码)
s_2 = “world”
print(s_2.encode()) --> b’world’
- bytes(字节) 转为 str(字符串) (解码)
列表
列表介绍
- 列表是Python中最常用的数据结构之一,Python的列表是一个有序可重复的元素,是一个可变长度。
- 创建:以英文状态下的[]创建空的列表
li = []
print(type(li)) --> <class ‘list’> - 元素可以是任意类型的,元素可以重复
li_2 = [“clara”, 21, 20.5, True, 21]
pritn(li_2) -->[“clara”, 21, 20.5, True, 21]
print(type(li_2)) --> <class ‘list’> - list(iterable) 可迭代的意味着可以将元素逐个取出
pritn(list(“hello”)) --> [‘h’, ‘e’, ‘l’, ‘l’, ‘o’] - 整数不是序列类型,他说整体存储
print(list(12345)) --> 错误
print(list(“12345”)) --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
访问(查)列表内地元素
- 下标默认从0开始,从下标索引,超过长度范围会报错
li = [1, 2]
print(li[0]) --> 1
print(li[2]) --> list index out of range 报错 - 修改列表内的元素(直接取出元素进行重新赋值)
li_2 = list(abc)
li_2[0] = A
print(li_2) --> Abc - 删除列表内的元素(直接取出元素,再通过del语句或者list,remove()或者list.pop())
- 直接取出元素,再通过del语句
li_3 = (list"123456") --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
del li_3[0]
print(li_3) --> [‘2’, ‘3’, ‘4’, ‘5’, ‘6’] - list.remove()(改变的是li_4本身,没有返回值,应该打印列表本身)
li_4 = (list"123456") --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
li_4.remove(“2”)
print(li_4) --> [‘1’, ‘3’, ‘4’, ‘5’, ‘6’] - list.pop()(默认是从最后开始弹出,如果传出index,那就删除index对应的元素)
li_5 = (list"123456") --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
li_5.pop()
print(li_5) --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
- 直接取出元素,再通过del语句
列表的特殊操作
- 列表的拼接或展开
li_1 = [‘1’, ‘2’, ‘3’]
li_2 = [‘4’, ‘5’, ‘6’]
print(li_1 + li_2) --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
print(li_1 * 4) --> [‘1’, ‘2’, ‘3’, ‘1’, ‘2’, ‘3’, ‘1’, ‘2’, ‘3’, ‘1’, ‘2’, ‘3’,] - 列表的成员判断
- 列表的迭代
列表常用内置函数
- 内置的方法或函数
print(type(len)) --> <class ‘built in_function_or_method’>
print(type(max)) --> <class ‘built in_function_or_method’>
print(type(min)) --> <class ‘built in_function_or_method’> - len() (返回长度买也可以理解为元素的个数)
li = list(“abc”)
print(len(li)) --> 3 - max() & min()(字符串与字符串的比较是用ASCII)
li = list(“abc”)
print(max(li)) --> c
print(min(li)) --> a - int与str不能使用>或<进行比较
li_2 = [‘a’, 2, 1]
print(max(li_2)) --> 报错
列表的排序与反转
- 逆序取出,没有返回值
li_3 = [1, 2, 34, 4, 5, 6, 4, 7, 10]
print(li_3[::-1]) --> [10, 7, 4, 6, 5, 4, 34, 2, 1]
li_3.reverse()
print(li_3) --> [10, 7, 4, 6, 5, 4, 34, 2, 1] - L.sort (排序)
li_3 = [1, 2, 34, 4, 5, 6, 4, 7, 10]
li_3.sort
print(li_3) --> [1, 2, 4, 4, 5, 6, 7, 10, 34] - L.sort(reverse=True) 降序(将升序排序后的结果反过来)
li_3 = [1, 2, 34, 4, 5, 6, 4, 7, 10]
li_3.sort(reverse=True)
print(li_3) --> [34, 10, 7, 6, 5, 4, 4, 2, 1]
列表的切片
- 起始为0,左闭右开,步长默1,不能为浮点数不能为0
li_4 = list(“1234567”) --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’]
print(li_4[1:4]) --> [‘2’, ‘3’, ‘4’]
print(li_4[1:4:1]) --> [‘2’, ‘3’, ‘4’]
print(li_4[1:6:2]) --> [‘2’, ‘4’, ‘6’]
print(li_4[1::2]) --> [‘2’, ‘4’, ‘6’] - 嵌套列表
li_5 = [1, 2, 3, [“amy”, 1]]
print(li_5[3][0]) --> “amy”