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内置函数复习的更多相关文章

  1. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  2. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

  3. Python基础篇【第2篇】: Python内置函数(一)

    Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...

  4. [python基础知识]python内置函数map/reduce/filter

    python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...

  5. Python内置函数进制转换的用法

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...

  6. Python内置函数(12)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string  ...

  7. Python内置函数(61)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...

  8. 那些年,很多人没看懂的Python内置函数

    Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...

  9. Python 内置函数笔记

    其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...

随机推荐

  1. selenium--页面元素相关的操作

    获取元素的标签和元素大小 from selenium import webdriver import unittest class Test_BasicInfo(unittest.TestCase): ...

  2. 【数论】[圆点坐标]P2508圆上的整点

    题目描述 求一个给定的圆\(x ^2 +y ^2 = r ^2\),在圆周上有多少个点的坐标是整数 Solution 圆上的点坐标通解:\(x = d\frac{v^2-u^2}{2},y = duv ...

  3. 洛谷P1230智力大冲浪 题解

    题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: ...

  4. Python常用经典案例

    Python循环语句: 函数: 异常处理:  类和继承: 相信初学Python的我们对于好多语句都还不熟悉,经常会遇到不知道以前c语言上面的语句转换成Python语句是怎么样的,会出现错误的情况,因此 ...

  5. Java class 和public class 区别

    1.类的访问权限 为了控制某个类的访问权限,修饰词必须出现在关键字class之前.例如:public class Student {}    在编写类的时候可以使用两种方式定义类:    (A)pub ...

  6. tcp & 长连接 短连接

    参考文档: tcp协议 http://blog.chinaunix.net/uid-26833883-id-3627644.html 长连接和短连接 http://blog.csdn.net/free ...

  7. phpstrom 配置getter和setter

    先看一段代码 protected $mddid; /** * @return mixed */ public function getMddid() { return $this->mddid; ...

  8. 招聘.net高级工程师

    1. 本科及以上学历(必须): 2. 精通.net框架和常见web框架,精通常见设计模式并熟练应用. 3. 扎实的技术功底,有良好的数据结构和算法基础,深入理解面向对象编程思想, 熟悉面向对象的基本设 ...

  9. Visual Studio报错/plugin.vs.js,行:1074,错误:缺少标识符、字符串或数字

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PrivateAssemblies/plugin. ...

  10. UML类图知识