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