1.冒泡排序

需求:请按照从小到大对列表 [13, 22, 6, 99, 11] 进行排序

原理:相邻两个值进行比较,将较大的值放在右侧,依次比较!

li=[39,11,43,88,765,9]
for i in range(len(li)):
for n in range(i,len(li)):
if li[n]>li[n+1]:
li[n],li[n+1]=li[n+1],li[n]
print(li)

2.选择排序

3.递归

递归:循环调用函数本身,根据条件退出

def ab(a):
if a==1:
return 1
return a*ab(a-1)
print(ab(7))

4.反射

python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员

class Foo(object):

def __init__(self):

self.name = 'wupeiqi'

def func(self):

return 'func'

obj = Foo()

# #### 检查是否含有成员 ####

hasattr(obj, 'name')

hasattr(obj, 'func')

# #### 获取成员 ####

getattr(obj, 'name')

getattr(obj, 'func')

# #### 设置成员 ####

setattr(obj, 'age'18)

setattr(obj, 'show'lambda num: num + 1)

# #### 删除成员 ####

delattr(obj, 'name')

delattr(obj, 'func')

导入lib目录下的m模块里面的方法

def run():
inp=input('请输入URL:')
m,f=inp.split('/')
obj=__import__(m)
if hasattr(obj,f):
func=getattr(obj,f)
func()
else:
print('404')
run()

5.模块

hashlib模块

用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

import hashlib
obj=hashlib.md5(bytes('adfdf',encoding='utf-8'))
obj.update(bytes('123',encoding='utf-8'))
result=obj.hexdigest()
print(result)

6.正则表达式

re模块用于对python的正则表达式的操作。

字符:

  . 匹配除换行符以外的任意字符
  \w 匹配字母或数字或下划线或汉字
  \s 匹配任意的空白符
  \d 匹配数字
  \b 匹配单词的开始或结束
  ^ 匹配字符串的开始
  $ 匹配字符串的结束

次数:

  * 重复零次或更多次
  + 重复一次或更多次
  ? 重复零次或一次
  {n} 重复n次
  {n,} 重复n次或更多次
  {n,m} 重复n到m次

IP: ^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$ 手机号: ^1[3|4|5|8][0-9]\d{8}$

1、match(pattern, string, flags=0)

从起始位置开始根据模型去字符串中匹配指定内容,匹配单个

  • 正则表达式
  • 要匹配的字符串
  • 标志位,用于控制正则表达式的匹配方式

import re obj = re.match('\d+', '123uuasf') if obj: print obj.group()

2、search(pattern, string, flags=0)

根据模型去字符串中匹配指定内容,匹配单个

import re obj = re.search('\d+', 'u123uu888asf') if obj: print obj.group()

3、group和groups

a = "123abc456"

print re.search("([0-9]*)([a-z]*)([0-9]*)", a).group()

print re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(0)

print re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(1)

print re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(2)

print re.search("([0-9]*)([a-z]*)([0-9]*)", a).groups()

4、findall(pattern, string, flags=0)

上述两中方式均用于匹配单值,即:只能匹配字符串中的一个,如果想要匹配到字符串中所有符合条件的元素,则需要使用 findall。

import re obj = re.findall('\d+', 'fa123uu888asf') print obj

5、sub(pattern, repl, string, count=0, flags=0)

用于替换匹配的字符串

content = "123abc456" new_content = re.sub('\d+', 'sb', content) # new_content = re.sub('\d+', 'sb', content, 1)print new_content

6、split(pattern, string, maxsplit=0, flags=0)

根据指定匹配进行分组

content = "'1 - 2 * ((60-30+1*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2) )'" new_content = re.split('\*', content) # new_content = re.split('\*', content, 1)print new_content

转载于:https://www.cnblogs.com/meng-wei-zhi/p/8120284.html

python- 常见算法 python内置模块相关推荐

  1. python常见错误-python常见的错误提示有什么

    python常见的错误有 1.NameError变量名错误 2.IndentationError代码缩进错误 3.AttributeError对象属性错误 4.TypeError类型错误 5.IOEr ...

  2. python常见错误-python中的错误有什么

    我们在写python代码时,有时候会遇到莫名的错误,而且查阅了很多资料也不明白是怎么回事,尤其是对python初学者而言,会很影响学习的细心,下面总结python中常见的错误,希望帮助到大家. pyt ...

  3. python 常见算法题

    前言 随着行业的发展,编程能力逐渐成为软件测试从业人员的一项基本能力.因此在笔试和面试中常常会有一定量的编码题,主要考察以下几点. 基本编码能力及思维逻辑 基本数据结构(顺序表.链表.队列.栈.二叉树 ...

  4. python常见算法(chatgpt算法实现)

    以下是使用Python实现的几种常见的排序算法: ``` 以下是使用Python实现的几种常见的排序算法:1. 冒泡排序```python def bubble_sort(arr):n = len(a ...

  5. python常见错误-Python错误及异常总结汇总

    程序员的一生中,错误几乎每天都在发生.在过去的一个时期, 错误要么对程序(可能还有机器)是致命的,要么产生一大堆无意义的输出,无法被其他计算机或程序识别,连程序员自己也可能搞不懂它的意义.一旦出现错误 ...

  6. python 推荐系统算法,Python用户推荐系统minkowski算法的实现

    Python用户推荐系统minkowski算法的实现 #-*- coding: utf-8 -*- ''' python: www.iplaypy.com @author: Jekey 欧几里得距离 ...

  7. python常见错误-python初学者常见的错误

    indentationError:unexpected indent 原因:缩进错误 纠正缩进方式 SyntaxError:invalid character in identifier 原因:输入了 ...

  8. python常见错误-Python 常见报错类型

    一.TypeError:类型错误,对象用来表示值的类型非预期类型时发生的错误 错误例子: age=18 print("我的年龄是'+age) 报错信息:TypeError: can only ...

  9. python素数算法,Python中的AKS素数算法

    是的,去看看rosettacode.org上的AKS test for primes页面def expand_x_1(p): ex = [1] for i in range(p): ex.append ...

  10. Python常见框架

    Python常见框架 Python框架是什么? Python框架是封装了一套系统成型的代码,让编程变得非常容易,Python框架可以根据功能来分类,比如爬虫框架.数据分析框架.Web开发框架等.通俗地 ...

最新文章

  1. 如何用zendstudio新建一个PHP工程
  2. SpringMvc自动代理
  3. 教程 | 以太坊智能合约编程之菜鸟教程
  4. unity3d-知识汇总
  5. php模拟post提交请求与调用接口
  6. jdbc:log4jdbc_使用Log4jdbc记录JDBC操作
  7. 项目管理控件Project Management Library
  8. 最新BAT大厂面试者整理的Android面试题目模板,分享PDF高清版
  9. 基于JAVA+Servlet+JSP+MYSQL的网上订餐管理系统
  10. JAVA ajax搜索框_JAVAEE AJAX实现搜素框关键字提示语功能
  11. java date nov_Java DateTime格式为此
  12. mysql查找多个表并更新值_Mysql子查询,连接,多表更新
  13. 如何下载matlab安装包_MATLAB安装时应该选择哪些模块
  14. 服务器防止ce修改器,原神CE修改器防封版
  15. 浅谈大数据广告下个人隐私保护,开发者视角的广告原理
  16. 体力活动水平的计算机软件著作权查询,软件著作权被竞争对手抢先,著作权保护的客体对象是谁?...
  17. php英文随机验证码,PHP随机字母数字验证码
  18. 前端处理 token 时效性问题
  19. vue 之 ele动态删除dom节点
  20. 创建springboot多模块项目(下)

热门文章

  1. 首次公开!菜鸟弹性调度系统的架构设计
  2. 如何解决游戏延迟,增强用户体验? 几种可行方案分享
  3. Unity Shader着色器优化
  4. 九九乘法表(js_javascript)
  5. JMeter环境搭建
  6. ORACLE TEXT LEXER PREFERENCE(四)
  7. ASP.NET MVC+JQueryEasyUI1.4+ADO.NET Demo
  8. 【转载】最大权闭合子图 【网络流】
  9. 3ds Max制作一面飘扬的旗帜效果图
  10. centos7下安全访问远程服务器