Python字符串处理算法 (三)

Python字符串以及字符串匹配算法KMP(一) 一字符串 计算机领域,文字处理一类重要的计算机应用,这样的基本文字符号称为字符,符号的序列称为字符串。基于对字符串处理的需求,需要字符集有一种确定的序关系(字典序) 二 字符串的实现 字符串可以看做一种特殊的线性表,可以采用一体式顺序表(一块完整的存储空间),需要在创建之初就确定大小的字符串,或者采用分离式顺序表形式(由链表连接的多个独立的存储空间),字符串可以动态变化。可变类型的字符串只... 阅读详情

 有限状态机


一个有限状态机(FSM) M 是一个 5-tuple,包括
Q:
有限的状态集合
q0:
初始状态
A:
可接受状态
SIGMA:
有限的输入字符
delta:
状态转移函数



用于字符串匹配的有限状态机的状态总数,其实和文本长度无关,只是模式字符串的长度而已,因为任意时候的当下状态,都是P的k个前缀匹配成功,k可以是1到m(即P的长度),当k为m时,也就是匹配成功了。
因此我们可以有一个最终状态函数 phi,来描述有限状态机器的当下状态,这个函数有如下的递归表达式

phi(epsilon) = q0  
(epsilon 是空输入)
phi(wa) = delta(phi(w), a)

可见 phi 是依赖于状态转移函数 delta 的,那么 delta 的表达式是什么呢,书中也给出了
delta(q, a) = sigma(qa)
其中  sigma(x) 叫做后缀函数,借用前面的Python版后缀定义来表示一下,就是
sigma(x) = max{k: x.endswith(P[0:k])}

状态函数和后缀函数之间的联系在书中有严格的数学证明,但用白话说一下很好理解,就是状态机当前的状态,假设为 k 的话,就说明 P 的 k 个前缀匹配成功,k 可以是1到 m(即P的长度),当 k 为 m 时,也就是匹配成功了。

代码也比较直白,除了下标有点绕,所以建议和书对照看,但是注意书中第922页的代码有误.


def finite_automation_matcher(t, delta, m):
        n = len(t)
        q = 0
        for i in range(0, n):
                q = delta[(q, t[i])]
                print "i %d, t[%d] %s, status %d"%(i, i, t[i], q)
                if q == m:
                        print "Pattern occured with shift %d"%(i-m+1)


def compute_transition_function(p, SIGMA):
        delta = {}
        m = len(p)
        for q in range(0,m+1):
                for a in SIGMA:
                        k=min(m,q+1)
                        while not (p[0:q]+a).endswith(p[0:k]):
                                k=k-1
                        delta[(q,a)]=k
        return delta

def test_fsm():
        t = "abababacaba"
        p = "ababaca"
        m = len(p)
        SIGMA = "abc"
        delta = compute_transition_function(p, SIGMA)
        finite_automation_matcher(t, delta, m)


最后可将结果跟书中Figure 32.7 对比一下

OpenCV实战系列——图像线条提取 基于内容的图像分析,需要从构成图像的像素集合中提取有意义的特征。轮廓、线条、区域等是基本的图像基元,可用于描述图像中包含的元素。本节将介绍如何提取重要的图像线条特征。 阅读详情

相关推荐

暗黑破坏神2重制版 mod制作教程(一)

暗黑2重制版mod修改教程

hhhh2312的博客 7452

字符串模式匹配经典算法KMP算法及其Python代码实现

KMP算法个人理解和Python实现

weixin_59283901的博客 1461

从科研小白到动物行为分析:我的DeepLabCut 3.0安装与初体验全记录

本文记录了从科研小白到成功安装并使用DeepLabCut 3.0进行动物行为分析的全过程。详细介绍了Anaconda环境配置、CUDA版本选择、DeepLabCut安装步骤及验证方法,并分享了初体验中的实用技巧和跨学科研究心得,为生物研究者提供了AI工具应用的实战指南。

weixin_30235225的博客 402

python第三篇笔记

Python字符串匹配 1. re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 import re line="this hdr-biz 123 model server 456" pattern=r"123" matchObj = re.match( pattern, line) 2. re.search 扫描整个字符串并返回第一个成功的匹配。 import re line="this hdr-biz model server

weixin_46957814的博客 274

Windows下MMdetection3D保姆级安装指南(含CUDA和PyTorch版本避坑)

本文提供Windows平台下MMdetection3D的完整安装指南,重点解决CUDA与PyTorch版本匹配问题。从环境准备到关键组件安装,详细介绍了CUDA Toolkit选择策略、PyTorch精准安装步骤,以及MM系列组件的安装顺序和常见错误解决方案,帮助用户顺利完成3D目标检测环境的配置。

weixin_42628941的博客 490

2024年捡垃圾指南:E5 V3/V4服务器CPU怎么选?从游戏多开到深度学习,附华南X99主板搭配清单

本文详细解析2024年E5 V3/V4服务器CPU的选购策略,涵盖游戏多开、深度学习等多种应用场景。通过对比E5 V3与V4系列的制程、功耗及性能差异,提供高性价比的CPU型号推荐及华南X99主板搭配方案,帮助用户在有限预算下打造高效能工作站。

weixin_42549451的博客 1577

Python实现字符串匹配算法

字符串匹配是一个经典的问题,即如何在一个给定的z字符串中查找一个给定的值。这里给出了最原始的蛮力字符串匹配算法以及Horspool算法的实现,后者是利用时空权衡中输入增强技术对原始的蛮力算法进行改进。

Wang的专栏 1万+

快速谱峭度算法解析

最近一直在研究振动信号的最优解调带宽寻找方法,而快速谱峭度算法是最常见的一种,因此本篇文章准备对该算法做个深入解析,也相当于自己的学习记录了。本篇文章对快速谱峭度算法做了一个较为详细的介绍,实际上就是通过多组滤波器将信号分解到不同的频段,再计算每个频段的峭度,从而找到值最大的频段,进一步地我们也可以选取其他指标作为频段的选择,以便更好地找到振动信号中的故障信息。

qq1234534215的博客 2742

字符串匹配算法(Python)

BF(暴力搜索算法) 将两个串 A 和串 B,依次循环实现两个串的模式匹配过程 def BF(s,p): # 判断串p在不在串s中 n1 = len(s) n2 = len(p) i,j = 0,0 while i < n1 and j < n2: if s[i] == p[j]: i += 1 j += 1 else: i = i - j + 1 j = 0 if j == n2: return i - j else: return -1

努力搬砖的打工人 4058

031、速度前馈与加速度前馈

摘要: 本文通过追剪机调试案例,阐述了速度前馈和加速度前馈在运动控制中的关键作用。前馈不是高级技巧,而是解决动态响应问题的必要手段:速度前馈通过预测速度变化提前补偿,加速度前馈则针对惯量变化提供力矩补偿。实现时需注意信号平滑处理,避免噪声放大。前馈与PID分工明确,前馈承担主要动态响应,PID处理残余误差。调试应先调前馈再微调PID,前馈增益需计算而非仅凭参数调整,并允许适当残余误差。前馈作为开环补偿不会影响系统稳定性,但需配合平滑的指令生成器使用。(149字)

m0_50546716的博客 284

Python爬虫教程:抓取电商网站评论(以淘宝和京东为例)

通过本文的介绍,我们学会了如何使用Python编写爬虫,抓取淘宝和京东等电商平台的商品评论数据。我们介绍了如何使用电商平台提供的开放API以及如何通过模拟浏览器来抓取动态加载的数据。此外,我们还讨论了如何应对反爬虫技术,如何存储抓取的数据等。爬取电商平台的数据是一个强大的工具,能够为市场分析、消费者行为研究、产品优化等领域提供有力的支持。然而,在使用爬虫技术时,我们必须遵循法律法规,尊重平台的隐私政策,避免滥用数据。

2201_76125261的博客 1737

sdut-python-实验三-字符串

分数 10作者 周雪芹单位 山东理工大学一行内输入N个字符串,按字典序从小到大进行排序后输出。输入数据有一行,分别为N个字符串,用空格分隔,每个字符串长度不超过100。输出排序后的字符串,用空格分隔。

2302_81657110的博客 552

组建高效AI开发团队:角色、技能与协作

在当今科技飞速发展的时代,人工智能(AI)已经成为各个领域的核心驱动力。组建高效的AI开发团队对于企业和科研机构来说至关重要,它能够推动创新、提高竞争力、实现业务目标。本文的目的在于为那些希望组建或优化AI开发团队的管理者、技术负责人以及相关从业者提供全面的指导。范围涵盖了团队角色的定义、所需技能的分析、团队协作的策略,以及实际项目中的应用和相关资源的推荐。本文将首先介绍AI开发团队的核心概念与联系,包括团队角色、技能和协作之间的关系。接着阐述核心算法原理和具体操作步骤,结合数学模型和公式进行详细讲解。

2502_91592937的博客 995

python去掉字符串最外侧的引号_Python实用案例编程入门:第二章 字符串

本章的主题为字符串。字符串是程序需要处理的最常见的数据形式。通常存储在文本文件中。也存在于通信交互中,比如服务器会给客户端发送一段字符串,而客户端需要将该字符串进行解析来识别服务器发送的具体指令或信息。在一些数据筛选场景中,可能需要我们从字符串中解析出特定格式的内容,比如找出其中的电话号码,邮件地址等等。再比如我们可能需要将数字字符串转换为具体的数字,也可能需要将具体的数字转换为字符串发送给其他人...

weixin_39814126的博客 1834

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Python模糊字符串匹配实战:从算法选型到生产部署

模糊字符串匹配是处理非结构化文本语义等价性的关键技术,其核心在于解决‘形异义同’的工程问题——如错别字、缩写、格式差异导致的匹配失败。它基于编辑距离、词集相似度、子串覆盖等原理,通过可解释、可配置、可阈值化的相似度计算,支撑搜索推荐、数据清洗、OCR后处理与主数据合并等关键场景。本文聚焦Python生态中`rapidfuzz`与领域规则协同的落地实践,深度融合`token_set_ratio`和预处理标准化两大热词,提供从单次匹配、批量去重到高并发API服务的全链路解决方案。

weixin_33739646的博客 358

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

9.Python从入门到精通—Python 字符串格式化,三引号,Unicode 字符串

在 Python 中,Unicode 字符串是一种特殊的字符串类型,用于表示任意字符集中的字符。需要注意的是,Python 2 中默认的字符串类型是 ASCII 字符串,如果需要使用 Unicode字符串,需要在字符串前面添加“u”前缀。Python中的字符串格式化是指将一个字符串中的占位符替换为指定的值。index():查找字符串中指定子字符串的位置,如果找到返回第一次出现的位置,否则会抛出异常。find():查找字符串中指定子字符串的位置,如果找到返回第一次出现的位置,否则返回-1。

weixin_50804299的博客 6945

Python 入门之字符串处理 (三)

@R星校长 第3关:字符串查找与替换 在大家日常工作使用 Word 编写文档的过程中,经常会遇到一个问题,发现前面写的文档中某个词用错了,需要换为另外一个词来表达。Word 提供了全文查找与替换的功能,可以帮助用户很方便的处理这一问题。那么,这一功能最基础和核心的就是字符替换,如果我们要自己基于 Python 来实现,该怎么做呢? 相关知识 本关的小目标:学习并掌握 Python 中常用的字符串方法,包括字符串查找、字符串切分、字符串替换等。 字符串查找 Python 提供了内置的字符串查找方法find(.

qq_44745905的博客 2298

Python字符串处理全面教程

本部分介绍了 Python 字符串的基础知识,包括字符串的创建、索引、切片、连接、重复和格式化等。这些知识是进行字符串处理的基础,掌握这些内容对于深入学习 Python 字符串处理至关重要。在下一部分中,我们将介绍 Python 字符串的常用方法,包括查找、替换、大小写转换等。在本部分中,我们介绍了 Python 字符串的常用方法,包括查找、替换、大小写转换、分割、连接、修剪、判断、填充和对齐以及翻译和替换等。这些方法极大地丰富了字符串处理的能力,使得在 Python 中操作文本数据变得异常简单和高效。

极客代码 2475

Python 入门之字符串处理

第1关:字符串的拼接:名字的组成 任务描述 本关任务是将两个不同的字符串,拼接形成一个字符串,并将新字符串输出来。字符串或串(String)是由数字、字母、下划线组成的一串字符。在 Python 中,字符串用单引号或者双引号括起来。在很多情况下,我们需要将两个字符串拼接起来,形成一个字符串。 例如,一个人的姓名,通常是由“姓氏”+“名字”组成的。在很多程序中,为了方便后续处理,通常将姓氏和名字分别存在两个变量中。然后在显示时,要将姓氏和名字拼接起来,按全名显示。 first_name = ‘Zhang’ l

wangyongqi的博客 8357

python 字符串的详细处理方法

python详细的处理字符串、转换字符串的方式

m0_61066945的博客 3536

Python字符串处理及打印(三)

center() 、ljust()、rjust()、lstrip()、rstrip()、strip()、find()、rfind()、index()、rindex()、count()、replace()、split()、capitalize()、title()、startswith()、endswith()、lower()、upper()、partition()、splitlines()、isalpha()、isdigit()、isalnum()、isspace()、join()

Max_Bing的博客 2614

Python字符串处理算法 (一)

CIC内部的核心软件系统都是搭建在linux上的,为了方便程序间的协同操作,我们还编写了很多shell script,尽管类似grep, sort, cut之类的工具用起来很爽很强大,但是shell 脚本并不适于描述稍微复杂些的逻辑跟算法,譬如我曾经写过这样的代码,猜猜它是做什么的 text=abcde echo $text|sed -r s/(.)//1 /g|cut -d" " -f1,

CICTech的专栏 5288

python 三引号_Python 字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:var1 = 'Hello World!' var2 = "Python Runoob" Python访问字符串中的值Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python访问子字符串,可以使用方括号来截取字符串,如下实例:实例...

weixin_39957312的博客 2102

python中专门处理字符串的是_Python中的字符串处理

Python转义字符在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:转义字符描述\(在行尾时)续行符\\反斜杠符号\'单引号\"双引号\a响铃\b退格(Backspace)\e转义\000空\n换行\v纵向制表符\t横向制表符\r回车\f换页\oyy八进制数yy代表的字符,例如:\o12代表换行\xyy十进制数yy代表的字符,例如:\x0a代表换行\other其它的字符以...

weixin_39693193的博客 107

Python——字符串处理

通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num个子字符串。(包括多个空格,制表符\t,换行符\n等)分割,并返回所有分割得到的字符串。

JD20200906的博客 2852

python中字符串的处理_Python中的字符串处理

Python转义字符在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:转义字符描述\(在行尾时)续行符\\反斜杠符号\'单引号\"双引号\a响铃\b退格(Backspace)\e转义\000空\n换行\v纵向制表符\t横向制表符\r回车\f换页\oyy八进制数yy代表的字符,例如:\o12代表换行\xyy十进制数yy代表的字符,例如:\x0a代表换行\other其它的字符以...

weixin_30744613的博客 334

Python(三)字符串处理

字符串处理 >基础语法 长度 字符个数 总行数 切片 查找 替换 列表之间转换 判断 >应用实例 >基础语法 长度 len(astr) 字符个数 astr.count("字符名称") 总行数 astr.count("\n")+(not astr.endswith("\n)) 切片 astr[0] #...

qq_42180996的博客 473
上一篇: Python字符串处理算法 (二)
下一篇: 第二届中国网络工程师侠客行大会参会感想
CICTech
博客等级 码龄19年 26粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值