python 数据结构和算法(一)
来源:互联网 发布:js文件压缩成 min.js 编辑:程序博客网 时间:2024/05/17 06:03
一.解压序列赋值给多个变量
若一个包含 N 个元素的元组或者是序列,将它里面的值解压后同时赋值给 N 个变量解压序列赋值给多个变量:
二.解压可迭代对象赋值给多个变量
若只解压一部分,可使用变量名占位:
如果一个可迭代对象的元素个数超过变量个数时,通过 * 从可迭代对象中解压出 N 个元素:
'*' 解压可以应用到字符串的分割:
分割语法实现递归算法:
三.保留最后 N 个元素
在迭代操作或者其他操作的时候,只保留最后有限几个元素的历史记录,使用 deque(maxlen=N) 构造函数会新建一个固定大小的队列。当新的元素加入并且这个队列已满的时候, 最老的元素会自动被移除掉。
四.查找最大或最小的 N 个元素
从一个集合中获得最大或者最小的 N 个元素列表,可以使用heapq 模块有两个函数:nlargest() 和 nsmallest()
如下复杂函数中,通过指明比较参数,进行比较,以下通过‘price ’比较:
若要查找唯一的最小或最大的元素,那么使用 min() 和 max() 函数,即
min(n)
五.序列中出现次数最多的元素
collections.Counter
类就是专门为这类问题而设计的, 它有一个有用的 most_common()
方法。假设你有一个单词列表并且想找出哪个单词出现频率最高。你可以这样做:
words = [ 'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes', 'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'around', 'the', 'eyes', "don't", 'look', 'around', 'the', 'eyes', 'look', 'into', 'my', 'eyes', "you're", 'under']from collections import Counterword_counts = Counter(words)# 出现频率最高的3个单词top_three = word_counts.most_common(3)print(top_three)# Outputs [('eyes', 8), ('the', 5), ('look', 4)]
对于简单的字面模式,直接使用 str.repalce()
方法即可,比如:
>>> text = 'yeah, but no, but yeah, but no, but yeah'>>> text.replace('yeah', 'yep')'yep, but no, but yep, but no, but yep'>>>
对于复杂的模式,请使用 re
模块中的 sub()
函数。 为了说明这个,假设你想将形式为 11/27/2012
的日期字符串改成 2012-11-27
。示例如下:
>>> text = 'Today is 11/27/2012. PyCon starts 3/13/2013.'>>> import re>>> re.sub(r'(\d+)/(\d+)/(\d+)', r'\3-\1-\2', text)'Today is 2012-11-27. PyCon starts 2013-3-13.'>>>
sub()
函数中的第一个参数是被匹配的模式,第二个参数是替换模式。反斜杠数字比如 \3
指向前面模式的捕获组号。
- python 数据结构和算法(一)
- python--数据结构和算法
- Python 数据结构和算法
- python进阶(数据结构和算法[1])
- python进阶(数据结构和算法[二])
- python进阶(数据结构和算法[三])
- 数据结构和算法分析实验(一)
- 数据结构和算法总结(一)
- 数据结构和算法概览(一)
- 【Java】Java数据结构和算法(一)
- 数据结构和算法分析(一) 引论
- js数据结构和算法(一)概述
- Python3 CookBook | 数据结构和算法(一)
- Java数据结构和算法(一)--前言
- python进阶-数据结构和算法
- python数据结构(一)
- 数据结构与算法python版(一)--单链表
- 数据结构和算法(一)----绪论
- HTML基础知识总结(相对较全)
- Mac: Alias[设置命令的别名]
- linux 安装Python
- C语言入门第十二篇,数组
- Please install [clang](http://clang.llvm.org/) or check configuration `clang.executable`
- python 数据结构和算法(一)
- BIRCH:使用聚类特征树(CF-树)的多阶段聚类算法
- 基于MATLAB的高光谱遥感数据的PCA运用
- RecyclerView系列(6)—回收,Recycler
- Kafka三款监控工具比较
- 文章标题
- Hadoop之旅(8)— HDFS API 实战操作
- Toast工具类
- 让你分分钟理解 JavaScript 闭包