zoukankan      html  css  js  c++  java
  • python标准库

    zip([iterable, ...])

    This function returns a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables. The returned list is truncated in length to the length of the shortest argument sequence. When there are multiple arguments which are all of the same length, zip() is similar to map() with an initial argument of None. With a single sequence argument, it returns a list of 1-tuples. With no arguments, it returns an empty list.

    The left-to-right evaluation order of the iterables is guaranteed. This makes possible an idiom for clustering a data series into n-length groups using zip(*[iter(s)]*n).

    返回一个列表,列表的元素是元组,元组的元素是一个集合,第 i 个集合包含(参数传入的)若干个可迭代对象第 i 个位置的元素:

    >>> zip(((1,2),5),[3,4])
    [((1, 2), 3), (5, 4)]

    返回的列表的长度取决于参数中最短的可迭代对象:

    >>> zip((1,2,5),[3,4])
    [(1, 3), (2, 4)]

    当可迭代对象的长度一致,zip和调用None的map结果一样:

    >>> map(None,[1,2,5],[3,4])
    [(1, 3), (2, 4), (5, None)]
    >>> map(None,[1,2],[3,4])
    [(1, 3), (2, 4)]
    >>> zip([1,2],[3,4])
    [(1, 3), (2, 4)]

    当只使用一个可迭代对象时,返回列表的每个元组一一对应于可迭代对象的每个元素:

    >>> zip((1,2,(3,4)))
    [(1,), (2,), ((3, 4),)]

    没有参数直接调用返回一个空列表。

    在zip中若干个可迭代对象从左到右被计算:

    >>> [(1,2)*2,(3,4)*2]
    [(1, 2, 1, 2), (3, 4, 3, 4)]
    >>> zip(*((1,2),(3,4))*2)
    [(1, 3, 1, 3), (2, 4, 2, 4)]


    >>> zip(*((1,2),(3,4)))*2
    [(1, 3), (2, 4), (1, 3), (2, 4)]
    >>> [(1,2),(3,4)]*2
    [(1, 2), (3, 4), (1, 2), (3, 4)]

    what's news in 3.6:

    map(function, iterable, ...)

    Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. If one iterable is shorter than another it is assumed to be extended with None items. If function is None, the identity function is assumed; if there are multiple arguments, map() returns a list consisting of tuples containing the corresponding items from all iterables (a kind of transpose operation). The iterable arguments may be a sequence or any iterable object; the result is always a list.

    基本顺序类型操作(即可以同时支持可变和不可变顺序类型)

    OperationResultNotes
    x in s True if an item of s is equal to x, else False (1)
    x not in s False if an item of s is equal to x, else True (1)
    s + t the concatenation of s and t (6)(7)
    s * n or n * s equivalent to adding s to itself n times (2)(7)
    s[i] ith item of s, origin 0 (3)
    s[i:j] slice of s from i to j (3)(4)
    s[i:j:k] slice of s from i to j with step k (3)(5)
    len(s) length of s  
    min(s) smallest item of s  
    max(s) largest item of s  
    s.index(x[, i[, j]]) index of the first occurrence of x in s (at or after index i and before index j) (8)
    s.count(x) total number of occurrences of x in s  

    可变顺序类型操作

    OperationResultNotes
    s[i] = x item i of s is replaced by x  
    s[i:j] = t slice of s from i to j is replaced by the contents of the iterable t  
    del s[i:j] same as s[i:j] = []  
    s[i:j:k] = t the elements of s[i:j:k] are replaced by those of t (1)
    del s[i:j:k] removes the elements of s[i:j:k] from the list  
    s.append(x) appends x to the end of the sequence (same ass[len(s):len(s)] = [x])  
    s.clear() removes all items from s (same as del s[:]) (5)
    s.copy() creates a shallow copy of s (same as s[:]) (5)
    s.extend(t) or s += t extends s with the contents of t (for the most part the same as s[len(s):len(s)] = t)  
    s *= n updates s with its contents repeated n times (6)
    s.insert(i, x) inserts x into s at the index given by i (same as s[i:i] =[x])  
    s.pop([i]) retrieves the item at i and also removes it from s (2)
    s.remove(x) remove the first item from s where s[i] == x (3)
    s.reverse() reverses the items of s in place (4)

    JSON

    使用json.dumps将python对象转换为JSON格式,例如:

    >>> import json
    >>> print json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': '))
    {
        "a": "Runoob",
        "b": 7
    }

    separators=(item_separator, key_separator)

    python 原始类型向 json 类型的转化对照表:

    PythonJSON
    dict object
    list, tuple array
    str, unicode string
    int, long, float number
    True true
    False false
    None null

    json 类型转换到 python 的类型对照表:

    JSONPython
    object dict
    array list
    string unicode
    number (int) int, long
    number (real) float
    true True
    false False
    null None
  • 相关阅读:
    Leetcode Unique Binary Search Trees
    Leetcode Decode Ways
    Leetcode Range Sum Query 2D
    Leetcode Range Sum Query
    Leetcode Swap Nodes in Pairs
    Leetcode Rotate Image
    Leetcode Game of Life
    Leetcode Set Matrix Zeroes
    Leetcode Linked List Cycle II
    CF1321A
  • 原文地址:https://www.cnblogs.com/autoria/p/6158176.html
Copyright © 2011-2022 走看看