Python内置函数复习
filter sorted heapq counter namedtuple reduce deque pickle islice re.split endswith stat os
#filter
>>> aa = [1,2,3,45,6,7]
>>> list(filter(lambda x:x>3,aa))
>>> [45, 6, 7]
#sorted
>>> sorted(d.items(),key=lambda x:x[1],reverse=True)
#heapq
>>> import heapq
>>> heap.nlargest(3,[1,2,2,2,3,4,4,45,5,6])
#counter
>>> from collections import Counter
>>> aa = Counter([1,2,2,2,3,4,4,45,5,6])
>>> aa.most_common(3)
#namedtuple
>>> from collection import namedtuple
>>> Stu = namedtuple('Stu',['name','age','sex'])
>>> s2 = Stu('jm',16,'male')
>>> s2.name
'jm'
#reduce
>>> dl = [{'d':3,'a':2,'b':4},{'f':3,'g':2,'b':4},{'d':3,'f':2,'b':4}]
>>> reduce(lambda a,b : a & b ,map(dict.keys,dl))
#deque
>>> from collections import deque
>>> q = deque([],5)
>>> q.append(1)
>>> import pickle
>>> pickle.dump(q,open('save.pkl','wb'))
>>> pickle.load(open('save.pkl','rb'))
deque([1], maxlen=5)
#islice
>>> from functools import islice
>>> list(islice(range(10),4,6))
[4, 5]
>>> def query_by_order(d,a,b=None):
... a -= 1
... if b is None:
... b= a+1
... return list(islice(d,a,b))
#re.split
>>> re.split('[;,|]+','ab;ffff|gdhgdjh,jfjje')
['ab', 'ffff', 'gdhgdjh', 'jfjje']
#endswith stat os 可执行权限
>>> import stat
>>> import os
>>> for fn in os.listdir():
... if fn.endswith(('.py','.sh')):
... fs = os.stat(fn)
... os.chmod(fn,fs.st_mode | stat.S_IXUSR)
# re.sub 替换字符串
>>> re.sub(r'(\d{4})-(\d{2})-(\d{2})',r'\2/\3/\1',log)
# iterator 和iterable的区别为迭代器只能使用一次,可迭代对象可使用多次
from collections import Iterable, Iterator
import requests class WeatherIterator(Iterator):
def __init__(self, caties):
self.caties = caties
self.index = 0 def __next__(self):
if self.index == len(self.caties):
raise StopIteration
city = self.caties[self.index]
self.index += 1
return self.get_weather(city) def get_weather(self, city):
url = 'http://wthrcdn.etouch.cn/weather_mini?city=' + city
r = requests.get(url)
data = r.json()['data']['forecast'][0]
return city, data['high'], data['low'] class WeatherIterable(Iterable):
def __init__(self, cities):
self.cities = cities def __iter__(self):
return WeatherIterator(self.cities) def show(w):
for x in w:
print(x) w = WeatherIterable(['北京', '上海', '广州'] * 10)
show(w)
#yield生成器对象自动维护迭代状态
from collections import Iterable class PrimeNumbers(Iterable):
def __init__(self, a, b):
self.a = a
self.b = b def __iter__(self):
for k in range(self.a, self.b + 1):
if self.is_prime(k):
yield k def is_prime(self, k):
return False if k < 2 else all(map(lambda x: k % x, range(2, k))) pn = PrimeNumbers(1, 30)
for n in pn:
print(n)
#reversed 反向迭代实现
from decimal import Decimal class FloatRange:
def __init__(self, a, b, step):
self.a = Decimal(str(a))
self.b = Decimal(str(b))
self.step = Decimal(str(step)) def __iter__(self):
t = self.a
while t <= self.b:
yield float(t)
t += self.step def __reversed__(self):
t = self.b
while t >= self.a:
yield float(t)
t -= self.step fr = FloatRange(3.0, 4.0, 0.2)
for x in fr:
print(x)
print('-' * 20)
for x in reversed(fr):
print(x)
Python内置函数复习的更多相关文章
- python内置函数
python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...
- python 内置函数和函数装饰器
python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...
- Python基础篇【第2篇】: Python内置函数(一)
Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...
- [python基础知识]python内置函数map/reduce/filter
python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...
- Python内置函数进制转换的用法
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...
- Python内置函数(12)——str
英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...
- Python内置函数(61)——str
英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...
- 那些年,很多人没看懂的Python内置函数
Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...
- Python 内置函数笔记
其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...
随机推荐
- 【Codeforces】B. Div Times Mod
B. Div Times Mod time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- leetcode 947. 移除最多的同行或同列的石头
题目描述: 在二维平面上,我们将石头放置在一些整数坐标点上.每个坐标点上最多只能有一块石头. 现在,move 操作将会移除与网格上的某一块石头共享一列或一行的一块石头. 我们最多能执行多少次 move ...
- gcc命令详解
gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点.目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC. ...
- linux lnmp环境下 安装apache教程
linux lnmp环境下 安装apache教程 源码安装 apr ,apr-util 安装apache要用<pre>wget http://mirrors.cnnic.cn/apache ...
- HTML基础(一)基本语法知识
HTML 基本文档 <!DOCTYPE html> <html> <head> <title>文档标题</title> </head& ...
- 前端与算法 leetcode 344. 反转字符串
目录 # 前端与算法 leetcode 344. 反转字符串 题目描述 概要 提示 解析 解法一:双指针 解法二:递归 算法 传入测试用例的运行结果 执行结果 GitHub仓库 # 前端与算法 lee ...
- 阿里云配置DDoS高防
- [转帖]美团在Redis上踩过的一些坑-3.redis内存占用飙升
美团在Redis上踩过的一些坑-3.redis内存占用飙升 博客分类: 运维 redis redismonitor内存突增client listinfo 转载请注明出处哈:http://car ...
- Python-06-函数
一.函数的定义 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 1. 定义方式 def 函数名(参数1,参数2 ...
- Scala Class etc. 2
Higher-Order Functions def 定义的是方法,而不是函数 函数可作为变量存在,可直接调用,也可作为值传递给其他函数 _ 后缀将普通方法变为函数: ceil _ 根据上下文编译器可 ...