【Python之旅】第二篇(八):zip拉链与map拉链

简介:

1.zip拉链


·功能:将两个列表合并起来,成为一个元素为元组的列表;

·演示如下:

1
2
3
4
5
6
7
8
9
10
>>> a = range( 0 , 5 )
>>> b = range( 5 , 10 )
>>> a
[ 0 1 2 3 4 ]
>>> b
[ 5 6 7 8 9 ]
>>> zip(a,b)
[( 0 5 ), ( 1 6 ), ( 2 7 ), ( 3 8 ), ( 4 9 )]
>>> zip(b,a)
[( 5 0 ), ( 6 1 ), ( 7 2 ), ( 8 3 ), ( 9 4 )]

·如果两个列表元素数量不一致,则zip会自动忽略:

1
2
3
4
5
6
7
8
>>> a = range( 1 , 5 )
>>> b = [ 'a' 'b' 'c' ]
>>> a
[ 1 2 3 4 ]
>>> b
[ 'a' 'b' 'c' ]
>>> zip(a,b)
[( 1 'a' ), ( 2 'b' ), ( 3 'c' )]


·利用zip的功能,可以造一个字典:

1
2
3
4
5
6
7
>>> key = [ 'name' 'girlfriend' ]
>>> values = [ 'xpleaf' 'CL' ]
>>> zip(key, values)
[( 'name' 'xpleaf' ), ( 'girlfriend' 'CL' )]
>>> dict(zip(key, values))
{ 'girlfriend' 'CL' 'name' 'xpleaf' }
>>> dict(zip(key, values))




2.map


·map的功能很强大,这里只提及其类似于zip的功能;

1
2
3
4
5
6
7
8
>>> a = range( 1 , 5 )
>>> b = [ 'a' 'b' 'c' 'd' ]
>>> map(a,b)
Traceback (most recent call last):
   File  "<stdin>" , line  1 in  <module>
TypeError:  'list'  object  is  not callable
>>> map(None,a,b)
[( 1 'a' ), ( 2 'b' ), ( 3 'c' ), ( 4 'd' )]

·可以看到map需要指定第一个参数,因为map不会自动忽略两个列表数量不同的情况,指定参数作为数量不足列表的填充:

1
2
3
4
>>> b.pop()
'd'
>>> map(None, a, b)
[( 1 'a' ), ( 2 'b' ), ( 3 'c' ), ( 4 , None)]




本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1695709,如需转载请自行联系原作者
相关文章
|
3月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
298 1
|
Python
高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作
【6月更文挑战第20天】高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作。装饰器如`@timer`接收或返回函数,用于扩展功能,如记录执行时间。`timer`装饰器通过包裹函数并计算执行间隙展示时间消耗,如`my_function(2)`执行耗时2秒。
133 3
WK
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
426 36
|
人工智能 API iOS开发
ChatGPT编程Python小案例(拿来就用)—解压zip压缩文
ChatGPT编程Python小案例(拿来就用)—解压zip压缩文
197 1
|
Python
Python中的zip:高效处理并行迭代的利器
Python中的zip:高效处理并行迭代的利器
391 0
|
分布式计算 算法 Python
Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解
Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解
|
Python
在Python中,`map()`, `filter()` 和 `reduce()` 是函数式编程中的三个核心高阶函数。
【6月更文挑战第24天】Python的`map()`应用函数到序列元素,返回新序列;`filter()`筛选满足条件的元素,生成新序列;`reduce()`累计操作序列元素,返回单一结果。
125 3
|
Python
Python中的Map Function
Python中的Map Function
521 2
Python利用列表、字典和zip函数处理数据
最近重温Python基础语法,一道练习题巩固下列表、字典、循环。 给定下面两个列表 attributes 和 values,要求针对 values 中每一组子列表 value,输出其和 attributes 中的键对应后的字典,最后返回字典组成的列表,请分别用一行和多行条件循环语句,来实现这个功能
|
分布式计算 Python
【python笔记】高阶函数map、filter、reduce
【python笔记】高阶函数map、filter、reduce
362 0

推荐镜像

更多