1.字符串
1.字符串是基本数据类型:
"字符串" '字符串' ''' 字符串 ''' str(字符串) #创建或者转换其他类型的字符串
a.获取长度:len(字符串)
b.字符串是一个有序的数列(sequence),也是一个可迭代对象,也有下标;
c.字符串[下标] #某一个位置的字符
可以用枚举函数enumerate装饰获取字符串的下标和对应位置的字符;
格式:enumerate(可迭代对象)
注意:在cmd中进入python,用for循环的时候,也要注意格式规范!就比如说图中的print与for循环的位置!
2. 字符串对象的常见方法和属性:
capitalize #让返回的首字母大写;
center #文本居中对齐
ljust #左对齐
rjust #右对齐
count #统计字母的个数;
startswith #以······开始(可以多个)
index #返回改值对应的位置;
find #跟index相似;但是要注意,如果返回了负值,则证明该值不存在;
rindex #找最右边的(最后一个)值
rfind #找最右边的(最后一个)值
注意:没有lfind和lindex;
format #格式化字符串是指将字符串中的占位符替换成指定变量的值,并将其输出到屏幕或者存储到文件中
isalnum #判断字符串是否由字母或数字组成;
isalpha #判断字符是否为英文字母
isdecimal #判断一个字符串是否只包含十进制数字
isascii #判断是否是由ascii组成
isupper #用来判断字符c是否为大写英文字母
islower #用来判断字符c是否为小写英文字母
upper #文本字符串中的所有小写字母转换成大写字母
lower #文本字符串中的所有小写字母转换成小写字母
join #按特定形式将字符拼接
split() #按特定形式分隔开
rsplit从后向前分隔;
注意:join和split的使用格式是不同的!
"形式".join()
s.split(" ") ------ 以空格形式分隔开;
strip #清除两侧空格;
rstrip #清除右侧空格;
lstrip #清除左侧空格;
3.*ecode
ecode是编码转换;将字符串转成字节;注意编码;---- 英文会正常出现,只有非英文的才会以字节的形式显现出来;图中的感叹号就是这样子,是中文下的状态,而不是英文状态下的!
encode有两种形式,一种是utf-8,另一种是gbk;在python3.0中,默认为UTF-8!
4.decode
字节类型中的转换函数;
5.translate
创建转换表 在使用translate()方法之前,我们首先需要创建一个转换表。转换表可以通过str.maketrans()方法来创建,它接受两个参数,分别是要被替换的字符和替换后的字符;
6.maketrans
是一个字符串方法,用于创建一个字符映射表;该函数接受两个参数,两个参数都必须是登场的字符串,其中第一个参数是被替换的字符,第二个参数是替换的字符;
7.切片操作:
A.python提供的用来切割和分割有序数列的一种技术; ---- list tuple 字符串等等
切片操作是基于下标来进行分割的;
B.其中切片操作也可以用于将元素逆序输出来!
C.格式: 对象[num:] ------ #返回num中第一个到最后一个的值;
D.对象[num1:num2] ------ #返回num1和num2的所有值;
注意:区间是前闭后开!
E.对象{num1:num2:step] ----------- step指步长;
注意:其中0可以不写!默认为0开始;步长为3;
F.将数组逆序输出来:
注意:当step步长等于-1的时候,说明是倒着切片;
8.python是支持负索引操作的!!!
思考:若用负索引的话,想要切最后一个单词,范围该怎么写呢?
2.排序:
数据排序,目的是让数据有序,有序的数据可以使用各种查找算法,实现快速查找!
A.冒泡排序
若有n个数据,最多比较n-1次!
例子:
def bubble_sort(nums:list) -> None: """ 冒泡排序 """ for i in range(len(nums) - 1): for j in range(len(nums) - 1 - i): if nums[j] > nums[j+1]: nums[j],nums[j+1] = nums[j+1],nums[j] nums = [1,9,2,5,7,6,8] print("排序前:",nums) bubble_sort(nums) print("排序后:",nums)
结果:
B.插入排序:
就是保证数是有序的,将后面无序的依次插入进来,在插入时也要保证有序性;
C.选择排序:
假设“第一个值”是最小值,就要每一轮找到真正的最小值,并且和假设的这个值交换;
D.二分查找:
有序的数列,二分就是将序列每次查找中间值,所以也被称为折半查找;