11.11上课笔记

发布时间:2024年01月08日

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.二分查找:

? ? ? ? 有序的数列,二分就是将序列每次查找中间值,所以也被称为折半查找;

文章来源:https://blog.csdn.net/m0_74543941/article/details/134372344
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。