字符串、排序

本文详细介绍了Python中字符串的基本概念,如数据类型、获取长度、下标操作、字符串方法和属性等。此外,还涵盖了编码转换、切片操作、排序算法(冒泡排序、插入排序、选择排序和二分查找)等内容。
摘要由CSDN通过智能技术生成

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

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

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值