python日常学习总结

以下是python学习过程中的小细节的总结,未完成....待续...

  • format的格式化字符串输出:

>>> "{0},{1},{0}".format(1,2)
'1,2,1'
>>> format(1234567890,',')      #千分位输出
'1,234,567,890'
>>> format(1234567890.1234,',')
'1,234,567,890.12'
>>> format(1234567890.1234,',.3f')    #格式化输出小数
'1,234,567,890.123'
>>> "[{0:*<10}]".format("a")     #左对齐,空的用*补全,否则是空格
'[a*********]'
>>> "[{0:*^10}]".format("a")     #居中,空的用*补全,否则是空格
'[****a*****]'
>>> "[{0:*>10}]".format("a")     #右对齐,空的用*补全,否则是空格
'[*********a]'
  • zip

    zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对


    >>> L1 = [1,2,3,4]
    >>> L2 = [5,6,7,8]
    >>> zip(L1,L2)
    [(1, 5), (2, 6), (3, 7), (4, 8)]
    >>> for x,y in zip(L1,L2):
    ...     print x,"+",y,"=",x+y
    ...
    1 + 5 = 6
    2 + 6 = 8
    3 + 7 = 10
    4 + 8 = 12
    >>> dict(zip(L1,L2))     #生成字典
    {1: 5, 2: 6, 3: 7, 4: 8}


  • 用viewitems()对比两个字典的差异

    >>> d1 = dict(a = 1, b = 2)
    >>> d2 = dict(b = 2, c = 3)
    >>> v1=d1.viewitems()  #viewsitems()生成视图,因为字典不支持直接对比
    >>> v2=d2.viewitems()
    >>> v1&v2               #两个字典的交集
    set([('b', 2)])
    >>> v1|v2               #两个字典的并集,合并
    set([('a', 1), ('b', 2), ('c', 3)])
    >>> v1-v2               #差集 (仅 v1 有,v2 没有的)
    set([('a', 1)])
    >>> v2-v1
    set([('c', 3)])
    >>> v1^v2               #对称差集 (不会同时出现在 v1 和 v2 中)
    set([('a', 1), ('c', 3)])
    >>> v1
    dict_items([('a', 1), ('b', 2)])
    >>> del d1['a']         #删除d1中的元素,v1视图也会跟着改变
    >>> v1
    dict_items([('b', 2)])
    >>>
  • OrderedDict生成有序列表,因为字典的生成是无序的,所以包括用popitem或者添加后查看都是无序的,如果想按照添加顺序输出,需要用到OrderedDict


>>> from collections import OrderedDict
>>> od=OrderedDict()
>>> od[1]=2
>>> od[2]=3
>>> od[3]=4 
>>> for k,v in od.items():
...     print k,v
...
1 2
2 3
3 4
>>> od.popitem()
(3, 4)



你可能感兴趣的:(python,学习总结)