Python内置数据结构,字符串

本文详细介绍Python中字符串的各种操作方法,包括定义与初始化、元素访问、连接与分割、大小写转换、排版、修改、查找、判断及格式化等。通过这些内容帮助读者全面掌握字符串处理技巧。

字符串:

  1.             字符串是不可变对象
  2.             一个个字符组成的有序的字符序列,使用单引号,双引号,三引号引住的字符序列

       

字符串定义,初始化

            s1 = ‘string’        s2 = "string2"        s3 = '''this's a "String" '''  

 

字符串元素访问———下标

            字符串支持使用索引访问:

                              sql = "select * from"       sql[4] = 'c'     

            有序的字符集合,字符序列:

                              for i in sql:

                                     print(c)

                                     print(type(c))    # 返回的什么类型

            可迭代: lst = list(sql)

 

字符串join连接:

  1.             "select" . join(iterable)
  2.             可将迭代对象连接起来,使用string作为分隔符
  3.             可迭代对象本身元素都是字符串,返回一个新字符串

 

字符串分割:

            分割字符串的方法分为2类:

  1.                        split系:将字符串按照分隔符分割成若干字符串,并返回列表
  2.                        rsplit:从右向左分割
  3.                        partition系:将字符串按照分隔符割成2段,返回这2段和分隔符的元组

            split(sep=None,maxsplit=-1)

                       从左到右,sep:指定分割的次数,缺省的情况下空字符串作为分割符

                                        maxsplit:指定分割的次数,-1表示遍历整个字符串

                                        

           partition(sep)

                     从左到右,遇到分隔符就把字符串分割成2部分,返回头,分隔符,尾三部分的三元组;如果没有找到分隔符,就返回                                头,2个空元素的三元组,sep分割字符串,必须指定

          rpartition(sep):从右向左分割

                                      

 

字符串大小写:

  •             upper():全大写
  •             lower():全小写
  •             swapcase():交互大小写

 

字符串排版:

  •            title():标题的每个单词都大写
  •            capitalize():首个单词大写
  •            center(width[,fillchar]):width,打印宽度   fillchar,填充的字符
  •            zfill(width):width 打印宽度,居右,左边用完填充0
  •            ljust(width[,fillchar]):左对齐
  •            rjust(width[,fillchar]):右对齐

 

字符串修改:

           replace(old,new[,count]):

                   字符串中找到匹配替换为新子串,返回新字符串

                   count表示替换几次,不指定就是全部替换

                   

 

字符串修改:

            strip([chars]):

                 从字符串两端去除指定字符集chars中的所有字符

                 如果chars没有指定,去除两端的空白字符

                  

          rstrip([chars]):从右开始

 

字符串查找:

  1.           时间复杂度:index和count方法都是O(n)
  2.           随着列表数据规模的曾大,而效率下降

          len(string):返回字符串的长度,即字符的个数

          index(sud[,start[,end]]):

                 在指定的区间[strat,end),从左至右,查找子串sud。找到返回索引,没有找到抛出异常ValueError

          rindex(sud[,start[,end]]):从右至左查找

          count(sud[,start[,end]]):

                 在指定的区间[start,end),从左至右,统计子串sud出现的个数

 

字符串判断is系列:

  •            isalnum():bool是否是字母和数字组成
  •            isalpha():是否是字母
  •            isdecimal():是否只包括十进制数字
  •            isdigit():是否全部数字(0~9)
  •            isidentifier():是不是字母和下划线开头,其他都是字母,数字,下划线
  •            islower():是否都是小写
  •            isupper():是否都是大写
  •            isspace():是否只包括空白字符

 

字符串格式化:

         字符串的格式化是一种拼接字符串输出样式的手段,更灵活方便

         join拼接只能使用分隔符,且要求被拼接的是可迭代对象

         + 拼接字符串还算方便,但是非字符串需要先转换为字符串才能拼接

format函数格式化字符串语法——Python鼓励使用:

  •          "{} {xxx}".format(*args,**kwarge)
  •          args是位置参数,是一个元组
  •          kwargs是关键字参数,是一个字典
  •          花括号表示占位符
  •          {}表示按照顺序匹配位置参数,{n}表示取位置参数索引为n的值
  •          {xxx}表示在关键字参数中搜索名称一致的
  •          {{}}表示打印花括号

 

内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型与贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值