1、如果想得到一個列表的index和內(nèi)容,可以通過enumerate快速實現(xiàn)
drinks = ['coffee','tea', 'milk', 'water']for index, drink in enumerate(drinks): PRint ('Item {} is {}'.format(index, drink))#Result# Item 0 is coffee# Item 1 is tea# Item 2 is milk# Item 3 is water
2、Python 中的set, 是一個無序不重復(fù)元素集,可以非常方便的進(jìn)行關(guān)系測試和消除重復(fù)元素
# deduplicate a list fastprint (set(['ham', 'eggs','bacon','ham']))# Result# {'ham', 'eggs', 'bacon'}
# compare list to find difference/similarities # {} without "key":"value" pairs makes a setmenu = {'pancakes', 'ham', 'eggs', 'bacon'}new_menu = {'coffee', 'ham', 'eggs', 'bagels', 'bacon'}new_items = new_menu.difference(menu)print ('try our new', ', '.join(new_items))# Result: try our new coffee, bagelsdiscontinued_items = menu.difference(new_menu)print ('sorry, we no longer have', ', '.join(discontinued_items))# Result: sorry, we no longer have panckes
old_items = new_menu.intersection(menu)print ('Or get the same old', ', '.join(old_items))# Result: Or ger the same old eggs, ham, baconfull_menu = new_menu.union(menu)print ('At one time or another, we have served ', ','.join(full_menu))
3、namedtuple 生成可以使用名字來訪問元素內(nèi)容的tuple 子類,非常方便
import collectionshttp:LightObject = collections.namedtuple('LightObject', ['shortname', 'otherprop'])n = LightObject(shortname = 'something', otherprop = 'something else')n.shortname # something
4、deque 雙段隊列,最大好處就是可以從頭部添加和刪除對象 popleft()、 appendleft()
import collectionsd = collections.deque('123456')print d.popleft() # '1'd.appendleft('7')print d # deque(['7','2','3','4','5','6'])
5、Counter 同樣是collections 中的,主要用來計數(shù)
import collectionsc = collections.Counter('abcab')print c #Couner({'a':2,'b':2,'c':1}
elements 方法返回一個迭代器,將生成Counter 知道的所有元素;most_common(n)生成一個序列,包含最常用的輸入值及相應(yīng)計數(shù)
新聞熱點
疑難解答