python函数----dict、map、zip

首先看一下三个函数的python文档解释

1.dict函数文档:

@overload

def __init__(self, **kwargs: _VT) -> None

可能的类型:

• (self: dict, kwargs: Dict[str, _VT]) -> None

• (self: dict, map: Mapping[_KT, _VT], kwargs: Dict[str, _VT]) -> None

• (self: dict, iterable: Iterable[Tuple[_KT, _VT]], kwargs: Dict[str, _VT]) -> None

函数形式:

dict() -> 新的空字典

dict(mapping) -> 根据mapping对象的(key, value)对生成新的字典对象

dict(iterable) -> new dictionary initialized as if via:

          d = {} for k, v in iterable:

                     d[k] = v

dict(**kwargs) -> 在关键字参数列表中使用name = value对初始化的新字典。 例如:dict(one= 1, two= 2)

 

2.zip函数文档:

builtins

@overload

def zip(iter1: Iterable,

        iter2: Iterable,

        iter3: Iterable,

        iter4: Iterable,

        iter5: Iterable,

        iter6: Iterable,

        *iterables: Iterable) -> Iterator[Tuple[Any, ...]]

Possible types:

• (iter1: Iterable[_T1])

-> Iterator[Tuple[_T1]]

• (iter1: Iterable[_T1], iter2: Iterable[_T2])

-> Iterator[Tuple[_T1, _T2]]

• (iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3])

-> Iterator[Tuple[_T1, _T2, _T3]]

• (iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4])

-> Iterator[Tuple[_T1, _T2, _T3, _T4]]

•(iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4], iter5: Iterable[_T5])

-> Iterator[Tuple[_T1, _T2, _T3, _T4, _T5]]

•(iter1: Iterable, iter2: Iterable, iter3: Iterable, iter4: Iterable, iter5: Iterable, iter6: Iterable, iterables: Tuple[Iterable, ...])

-> Iterator[Tuple[Any, ...]]

函数的使用

zip(iter1 [,iter2 [...]]) –> zip object

返回一个zip对象,其.__ next __()方法返回一个元组,其中第i个元素来自第i个可迭代参数。 .__ next __()方法一直持续到参数序列中最短的iterable耗尽,然后它引发StopIteration。

 

3.map函数文档:

builtins

@overload

def map(func: (...) -> _S,

        iter1: Iterable,

        iter2: Iterable,

        iter3: Iterable,

        iter4: Iterable,

        iter5: Iterable,

        iter6: Iterable,

        *iterables: Iterable) -> Iterator[_S]

Possible types:

• (func: (_T1) -> _S, iter1: Iterable[_T1])

-> Iterator[_S]

• (func: (_T1, _T2) -> _S, iter1: Iterable[_T1], iter2: Iterable[_T2])

-> Iterator[_S]

• (func: (_T1, _T2, _T3) -> _S, iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3])

-> Iterator[_S]

• (func: (_T1, _T2, _T3, _T4) -> _S, iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4])

-> Iterator[_S]

• (func: (_T1, _T2, _T3, _T4, _T5) -> _S, iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4], iter5: Iterable[_T5])

-> Iterator[_S]

• (func: (...) -> _S, iter1: Iterable, iter2: Iterable, iter3: Iterable, iter4: Iterable, iter5: Iterable, iter6: Iterable, iterables: Tuple[Iterable, ...])

-> Iterator[_S]

 

map(func, *iterables) –> map object

创建一个迭代器,使用每个迭代的参数计算函数。 当最短的可迭代参数用尽时停止。

 

使用zip和dict的样例代码:

keys = range(11, 21)
values = list('qazxswedcvf')
r = zip(keys, values)
d = dict(r)
print(d)

运行结果:

{11: 'q', 12: 'a', 13: 'z', 14: 'x', 15: 's', 16: 'w', 17: 'e', 18: 'd', 19: 'c', 20: 'v'}

zip将两个列表组成一个字典

 

使用map和dict样例代码:

def fmap(a,b):
    return (a+1, b+'z')

keys = range(1, 11)
values = list('qazxswedcvf')
result = map(fmap, keys, values)
r = dict(result)
print(r)

运行结果:

{2: 'qz', 3: 'az', 4: 'zz', 5: 'xz', 6: 'sz', 7: 'wz', 8: 'ez', 9: 'dz', 10: 'cz', 11: 'vz'}

map可以看做是zip函数的升级版,允许使用函数对keys和values进行处理后再返回生成的字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值