当前位置: 首页 > news >正文

Python字符串函数,一个比一个狠,你学废了吗?

关于函数, 从字符串里查找特定内容, 有用于查找特定组合的函数, 有去除空格的函数, 还有用什么来间隔字符串的函数, 有判断是否为有效数字或字符的函数, 有判断是否全为字符的函数, 有判断是否全为数字的函数, 有将数据改成小写的函数, 有将数据改成大写的函数, 有判断字符串是否以特定字符开始的函数, 也有判断字符串是否以特定字符结尾的函数, 有写入函数有写入文件的函数, 有在数据尾部插入数据的函数, 有在指定位置之前插入数据的函数, 有将字符串转换成列表的函数, 有在数据中查找第一次特定值位置的函数, 有将数据的每一个提取出来加入列表的函数, 有统计数据中某个元素出现次数的函数, 有将数据中第一次出现的特定字符删掉的函数, 有将数据的第2个元素删掉的函数, 有去掉数据指定位置的数据且有返回值的函数, 有去掉原数据中特定元素的函数, 有列表逆序的函数, 有判断某个数据是否为某种类型的函数, 有得到某数绝对值的函数, 有删除列表中索引为2的元素的函数, 有对数据排序的函数, 有创建一个元组的函数, 有查找并返回索引的函数, 有split逆操作的函数以建立字典, 有创建字典的函数, 有清楚字典中所有项的函数, 有复制一个字典且会修改所有字典的函数, 有复制一个字典但只会修改当前字典的函数, 有查询字典中元素的函数, 有将所有字典返回一个列表的函数, 有与items函数作用相同的函数, 有移除字典中元素的函数, 有用一个字典项更新另一个字典项的函数, 有什么都不做的函数, 有执行一段代码的函数, 有计算表达式的函数, 有返回单字符字符串int值的函数, 有创造英语并行迭代新序列的函数, 有自定义函数, 还有加载扩展库以及常用的几种常用的内置函数。

li = ['baby','honey'] for item in li: print item for item in enumerate(li,12): print item for item in enumerate(li,13): print item[0],item[1]

s.() 用来格式化字符的一种新的方法 示例如下:

1 s = ‘I am {0}{1}’

2 print s.(‘’,‘!’)

输出的结果: I am !

map()和函数的结合使用 map(,list)

•()函数

一种函数, 属于内置的, 同时还是一个别的高阶函数。这种函数接收的诸如参数方面, 跟 map() 较相似, 是一个函数 f, 还有一个 list, 然而其行为跟 map() 不一样, 该函数传入的这个函数 f 必然得接收两个参数, 且会针对 list 的每个元素反复去调用函数 f, 最终返回那么一个结果值。

例如,编写一个f函数,接收x和y,返回x和y的和:

def f(x, y):

x + y

调用 (f,

1, 3, 5, 7, 9

)时,函数将做如下计算:

先计算头两个元素:f(1, 3),结果为4;

再把结果和第3个元素计算:f(4, 5),结果为9;

再把结果和第4个元素计算:f(9, 7),结果为16;

再把结果和第5个元素计算:f(16, 9),结果为25;

由于没有更多的元素了,计算结束,返回结果25。

实际该计算乃是针对 list 的全部元素去达成求和操作, 尽管有着内置的求和函数 sum(), 然而, 借助()来实施求和同样是极为轻易的。

它能够接纳第3个可选择的参数, 将之用作计算的起始值。要是把起始值设定成100, 来展开计算:

(f,

1, 3, 5, 7, 9

, 100)

结果将变为125,因为第一轮计算是:

计算初始值和第一个元素:f(100, 1),结果为101。

利用()进行连乘的代码块

def f(x,y): return x * y print reduce(f,[2,4,5,7,12])

•()函数(过滤函数)

()函数是, 内置的, 另外一个可发挥效用的, 高阶函数, ()函数接纳, 一个函数 f, 以及一个list, 这个函数 f 的功用在于,针对每个元素展开判断, 给出 True或者 False, ()依据判断所得结果, 自动剔除不符合条件的元素, 返回由符合条件元素所构成的新list。

例如,要从一个list

1, 4, 6, 7, 9, 12, 17

中删除偶数,保留奇数,首先,要编写一个判断奇数的函数:

def is_odd(x): return x % 2 == 1

然后,利用()过滤掉偶数:

(,

1, 4, 6, 7, 9, 12, 17

结果:

1, 7, 9, 17

#利用过滤函数filter()进行删除None和空字符串 def is_not_empty(s): return s and len(s.strip()) > 0 l = ['test','str',None,'','','END'] print filter(is_not_empty,l) # 利用函数filter()过滤出1~100中平方根是整数的数 import math l = [] for x in range(1,101): l.append(x) def is_int(x): r = int(math.sqrt(x)) return r * r == x print filter(is_int,l)

或者

import math def is_sqr(x): r = int(math.sqrt(x)) return r*r==x print filter(is_sqr, range(1, 101))

•自定义排序函数

内置的 ()函数可对list进行排序:

>>>(

36, 5, 12, 9, 21

5, 9, 12, 21, 36

但, 它是一个高阶函数, 它能够接收一个比较函数用以实现自定义排序, 比较函数的定义为, 传入两个待比较的元素x, y, 若x应当排在y的前面, 此时返回-1, 若x应当排在y的后面, 这时返回1。若x和y相等, 返回0。

因此,如果我们要实现倒序排序,只需要编写一个函数:

def reversed_cmp(x, y): if x > y: return -1 if x < y: return 1 return 0

这样,调用 () 并传入 就可以实现倒序排序:

>>> (

36, 5, 12, 9, 21

, )

36, 21, 12, 9, 5

可以针对字符串开展排序操作, 字符串在默认状况下是依照ASCII大小予以比较的:

>>> (

‘bob’, ‘about’, ‘Zoo’, ‘’

‘’, ‘Zoo’, ‘about’, ‘bob’

‘Zoo’排在‘about’之前, 这存在一个原因, 是由于‘Z’的ASCII码比‘a’小。

在对字符串进行排序之际, 有时将大小写忽略掉之后再排序会更契合习惯。请借助()高阶函数, 达成忽略大小写排序的算法。

l = ['bob','about','Zoo','Credit'] def cmp_ignore_case(s1,s2): u1 = s1.upper() u2 = s2.upper() if u1 < u2: return -1 if u1 > u2: return 1 return 0 print sorted(l,cmp_ignore_case)

zip() 函数的使用的介绍

eval(str) 函数可以将str转换成一个表达式执行

和()的使用

#以字符串的形式导入模块和函数 temp = 'sys' model = __import__(temp) foo = 'path' function = getattr(model,foo) print function
http://www.jsqmd.com/news/1259337/

相关文章:

  • 工业DPM码识别:抗强光干扰的光学与算法优化方案
  • Java后端开发实战:新冠物资管理系统设计与实现
  • 二分答案与图论建模:从USACO集合点问题看算法思维融合
  • 2026年7月吸尘器购买指南:史沃斯、挑战者、厉邦三大品牌实力测评 - 工业清洁测评社
  • 推荐国内笔记本电脑租赁品牌企业:严选 - 品牌推广大师
  • C++实现Windows自动化:SendInput API模拟键盘鼠标操作详解
  • 影刀RPA 邮件附件处理:批量发送与下载
  • 神经网络与自适应滑模控制在船舶轨迹跟踪中的应用
  • AI 辅助性能测试——让大模型分析 JFR 文件并给出优化建议
  • 广州新电视塔超高层单元式扭面幕墙的设计应用
  • 企业级智能Agent搭建实战:从架构设计到业务落地
  • 操作系统课程3 - 小镇
  • Linux命令行截图工具Satty的安装与使用指南
  • C++ vector底层源码剖析——从扩容机制到内存优化,面试官到底想问什么?
  • C++日志方案深度对比:printf与spdlog的性能、场景与选型指南
  • 生成式AI在气象预警中的应用与优化实践
  • 可分离架构在物理信息神经网络中的高维PDE求解应用
  • 2026 年新消息:河间正规的电子厂钽废料高价回收店推荐几家,揭秘:电子厂钽废料,如何撬动天价回收市场? - 企业官方推荐【认证】
  • C++手搓JPEG压缩:从原理到实现的图像编码实战
  • 企业级AI Agent平台架构设计:从核心概念到高可用系统实战
  • 2026年最新发布AI获客公司,五家风格各异的专业机构深度解析 - mypinpai
  • UABEAvalonia:跨平台Unity资源编辑器的架构解析与实战应用
  • 测试工程师智能助手:基于NLP的文档问答系统实践
  • 2026 年现阶段靖安有实力的活珠子批发厂家优质厂家找哪家,揭秘!手把手教你如何低价拿下超值活珠子-悠宝活珠子 - 领域鉴赏官
  • AI智能体创造力:随机性与确定性的平衡艺术
  • 《数学三》考研模拟题及解析(五)
  • 虚拟AI产品经理:数据驱动的SaaS需求优先级决策实践
  • 从零搭建C++ OpenCV开发环境:环境配置、核心API与性能优化实战
  • AI如何重塑学术写作:书匠策智能平台实战解析
  • 基于YOLOv8的智能交通车辆测速系统设计与优化