1.Python内置函数
abs()、delattr()、hash()、memoryview()、set()、all()、dict()、help()、min()、setattr()、any()、dir()、hex()、next()、slice()、ascii()、divmod()、id()、object()、sorted()、bin()、enumerate()、input()、oct()、staticmethod()、bool()、eval()、int()、open()、str()、breakpoint()、exec()、isinstance()、ord()、sum()、bytearray()、filter()、issubclass()、pow()、super()、bytes()、float()、iter()、print()、tuple()、callable()、format()、len()、property()、type()、chr()、frozenset()、list()、range()、vars()、classmethod()、getattr()、locals()、repr()、zip()、compile()、globals()、map()、reversed()、import()、complex()、hasattr()、max()、round()
(1)abs(x)
:求绝对值
(2)all(iterable)
:当iterable(可以为列表等)全部为真时返回True
(3)any(iterable)
:当iterable(可以为列表等)有一个元素为真时返回True
(4)divmod(a,b)
:返回商和余数对(a//b, a%b)
(5)enumerate(iterable, start=0)
:返回序号和值。
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
>>>[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1))
>>>[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
(6)fiter(function, iterable)
(7)map(function, iterable)
:对iterable中的每个元素应用到function中。
(8)pow(base, exp[, mod])
:base**exp
(9)round(number[, ndigits])
:四舍五入
(10)set()
:set最大的特点是保证里面的key不重复。set(a) & set(b)
:交集,set(a) | set(b)
:并集
(11)sorted(iterable, *, key=None, reverse=False)
:排序
(12)zip(*iterables)
:组合;*zip()
means unzip。
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zip(x, y))
>>> x == list(x2) and y == list(y2)
True
2.python内置模块
(1)datetime
获取当前日期和时间
from datetime import datetime
now = datetime.now()
获取指定日期和时间
from datetime import datetime
dt = datetime(2015, 4, 19, 12, 20)
datetime转换为timestamp
from datetime import datetime
dt = datetime(2015, 4, 19, 12, 20)
dt.timestamp()
timestamp转换为datetime
from datetime import datetime
t = 1429417200.0
datetime.fromtimestamp(t) # 转换成本地时间
datetime.utcfromtimestamp(t) # 转换成格林威治时间
str转换为datetime
from datetime import datetime
dt = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
datetime转换为str
from datetime import datetime
now = datetime.now()
now.strftime('%a, %b %d %H:%M')
datetime加减
from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)
>>> now + timedelta(hours=10)
datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)
>>> now - timedelta(days=1)
datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)
(2)collections
collections是Python内建的集合模块,提供集合类。
defaultdict
使用dict
时,如果引用的Key
不存在,就会抛出KeyError
。如果希望key
不存在时,返回一个默认值,就可以用defaultdict
:
>>> from collections import defaultdict
>>> dd = defaultdict(lambda: 'N/A')
>>> dd['key1'] = 'abc'
>>> dd['key1'] # key1存在
'abc'
>>> dd['key2'] # key2不存在,返回默认值
'N/A'
注意默认值是调用函数返回的,而函数在创建defaultdict
对象时传入。
除了在Key
不存在时返回默认值,defaultdict
的其他行为跟dict
是完全一样的。
OrderedDict
使用dict
时,Key
是无序的。在对dict
做迭代时,我们无法确定Key
的顺序。
如果要保持Key
的顺序,可以用OrderedDict
:
>>> from collections import OrderedDict
>>> d = dict([('a', 1), ('b', 2), ('c', 3)])
>>> d # dict的Key是无序的
{'a': 1, 'c': 3, 'b': 2}
>>> od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> od # OrderedDict的Key是有序的
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
注意,OrderedDict
的Key
会按照插入的顺序排列,不是Key
本身排序。
Counter
Counter是一个简单的计数器。
>>> from collections import Counter
>>> c = Counter()
>>> for ch in 'programming':
... c[ch] = c[ch] + 1
...
>>> c
Counter({'g': 2, 'm': 2, 'r': 2, 'a': 1, 'i': 1, 'o': 1, 'n': 1, 'p': 1})
>>> c.update('hello') # 也可以一次性update
>>> c
Counter({'r': 2, 'o': 2, 'g': 2, 'm': 2, 'l': 2, 'p': 1, 'a': 1, 'i': 1, 'n': 1, 'h': 1, 'e': 1})
参考原文:https://www.liaoxuefeng.com/wiki/1016959663602400