我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python3 cookbook

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python3 cookbook

使用deque(maxlen=N)构造函数会新建一个固定大小的队列.当新的元素加入并且这个队列已满的时候,最老的元素会被移除掉.在队列两端插入或者删除元素时间复杂度都是O(1), 而在列表的开头插入或删除元素的时间复杂度为O(N).


当要查找的元素个数相对比较小的时候,函数 nlargest() 和 nsmallest() 是很合适的。 如果你仅仅想查找唯一的最小或最大(N=1)的元素的话,那么使用 min() 和 max() 函数会更快些。 类似的,如果N的大小和集合大小接近的时候,通常先排序这个集合然后再使用切片操作会更快点 (sorted(items)[:N] 或者是 sorted(items)[-N:] )。 需要在正确场合使用函数 nlargest() 和nsmallest() 才能发挥它们的优势 (如果N快接近集合大小了,那么使用排序操作会更好些)


2. 字符串和文本

re.split(r'[;,\s]\s*]', line)

re.split(r'(;|,|\s)\s*', line)     

re.split(r'(?:,|;|\s)\s*', line)

[name for name in filenames if name.endswith(('.c', '.h'))]

re.match('http:|https:|ftp:', url)  # match() 方法仅仅检查字符串的开始部分。

from fnmatch import fnmatch, fnmatchcase

fnmatch('foo.txt', '*.txt')

如果你的代码需要做文件名的匹配,最好使用 glob 模块。

如果你想使用同一个模式去做多次匹配,你应该先将模式字符串预编译为模式对象。

datepat.findall(text)

datepat.finditer(text)

如果你打算做大量的匹配和搜索操作的话,最好先编译正则表达式,然后再重复使用它。 模块级别的函数会将最近编译过的模式缓存起来,因此并不会消耗太多的性能, 但是如果使用预编译模式的话,你将会减少查找和一些额外的处理损耗。

text.replace('yeah', 'yep')

re.sub(r'(\d+)/(\d+)/(\d+)', r'\3-\1-\2', text)

datepat.sub(r'\3-\1-\2', text)

对于更加复杂的替换,可以传递一个替换回调函数来代替.一个替换回调函数的参数是一个 match 对象,也就是 match() 或者 find() 返回的对象。 使用group() 方法来提取特定的匹配部分。回调函数最后返回替换字符串。

def change_date(m):

    mon_name = month_abbr[(m.group())]
    .format(m.group(), mon_name, m.group())
(datepat.sub(change_date, text))

newtext, n = datepat.subn(r'\3-\1-\2', text)


def matchcase(word):
    def replace(m):
        text = m.group()
        if text.isupper():
            return word.upper()
        elif text.islower():
            return word.lower()
        elif text[0].isupper():
            return word.capitalize()
        else:
            return word
    return replace


re.sub('python', matchcase('snake'), text, flags=re.IGNORECASE)

在一个模式字符串中,点(.)匹配除了换行外的任何字符。通过在 * 或者 + 这样的操作符后面添加一个 ? 可以强制匹配算法改成寻找最短的可能匹配。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python3 cookbook

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python3 cookbook

使用deque(maxlen=N)构造函数会新建一个固定大小的队列.当新的元素加入并且这个队列已满的时候,最老的元素会被移除掉.在队列两端插入或者删除元素时间复杂度都是O(1), 而在列表的开头插入或删除元素的时间复杂度为O(N).当要查找
2023-01-31

Python3 CookBook |

文章首发于知乎专栏,欢迎关注。https://zhuanlan.zhihu.com/py...以下测试代码全部基于 Python31、查找最大或最小的 N 个元素工作中有时会遇到这样的需求,取出数据中前面 10% 的值,或者最后 10% 的
2023-01-31

最新的python3-cookbook

链接:http://python3-cookbook.readthedocs.io/zh_CN/latest/index.html
2023-01-31

FLEX 3 COOKBOOK

FLEX 3 COOK BOOK ,等了好长时间,,哈哈!先下载了看看。有需要的朋友请到[url]http://www.riabook.cn/en_book/flex-3-cookbook.htm[/url]  下载。
2023-01-31

python cookbook 3 翻译

自己买了个影印版,边翻边看边实践以期增强学习效果。计划是每日一个小片段,希望能坚持到底。P.S 翻得不好,请轻拍。。1 数据结构与算法1.1 将一个序列分离转换成多个变量问题:    如果你有一个由N个元素组成的元组或序列并想将其分离成多个
2023-01-31

python之cookbook-day0

第一章:数据结构和算法1.2 解压可迭代对象赋值给多个变量问题:如果一个可迭代对象的元素个数超过变量个数时,会抛出一个 ValueError 。那么 怎样才能从这个可迭代对象中解压出 N 个元素出来?解决方案:Python 的星号表达式可以
2023-01-30

python CookBook 3 1.

问题:    你需要从一个可迭代对象中拆解出N个元素,但是它可能多于N个元素并导致抛出“too many values to unpack”的异常解决:    python的“带星参数”可以搞定这个问题。比如说,你开了一门课并且决定在期末的
2023-01-31

Java反射经典实例 Java Reflection Cookbook

http://www.duduwolf.com/wiki/2006/85.html[@more@]import java.lang.reflect.Array;import java.lang.reflect.Constructor;imp
2023-06-03

Python3教程——5、Python3

一、Pycharm常用快捷键有颜色的为很常用,或不易发现 编辑类:Ctrl + Space 基本的代码完成(类、方法、属性)Ctrl + Alt + Space 类名完成Ctrl + Shift + Enter 语句完成Ctrl + P 参
2023-01-31

Python3 spider

http://blog.jobbole.com/77821/Python3网络爬虫的一个资料,还可以,备份。
2023-01-31

Python3 isinstance()

描述isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。isinstance() 与 type() 区别:type() 不会认为子类是一种父类类型,不考虑继承关系。isinstance() 会认为子类是一种
2023-01-31

python3-numpy

参考地址:1、https://www.shiyanlou.com/courses/9122、https://www.shiyanlou.com/courses/3483、https://docs.scipy.org/doc/numpy/re
2023-01-31

python3-socketserver

目录socketserver模块基于TCP链接的简单并发程序基于UDP无链接的简单并发程序错误笔记:ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。Connectio
2023-01-31

python3_01.python3.

CentOS 6.5 安装Python 3.5本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2015-11/124908.htm1、CentO
2023-01-31

python3 GUI

用python3创建窗口并显示修改窗口的名字在窗口中加入标签在窗口中加入按钮使按钮有实际意义添加可编辑文本框用Tkinter实现一个简单的GUI程序,单击click按钮时会在终端打印出’hello world’,方法一用Tkinter实现一
2023-01-31

python3 day7

三层目录:功能要求:1. 输入即可进入下一层2. 按q退出3. 按b可以回退到上一层代码:#!/usr/bin/env python# -*- coding:utf-8 -*-menu={    '山东':{        '青岛': ['
2023-01-31

python3 functions

print('strings',end='')input()len()str() int() float()True Falseand not orif elif else while break continuefor i in rang
2023-01-31

python3 __name__

我们经常会在各种代码中见到一个__name__ == '__main__', 这究竟是什么意思呢当一个python文件是被当做一个脚本运行的时候, 它的__name__就为__main__, 比如以下代码>>> def add(x, y):
2023-01-31

python3 asyncio

asyncio 是用来编写并发代码的库,使用async/await语法。asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。asyncio 往往是构建 IO 密集型和高层
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录