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

1.zip拉链

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

·演示如下:

>>> 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会自动忽略:

>>> 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的功能,可以造一个字典:

>>> 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的功能;

>>> 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不会自动忽略两个列表数量不同的情况,指定参数作为数量不足列表的填充:

>>> b.pop()
‘d‘
>>> map(None, a, b)
[(1, ‘a‘), (2, ‘b‘), (3, ‘c‘), (4, None)]
时间: 2024-12-16 13:21:07

【Python之旅】第二篇(八):zip拉链与map拉链的相关文章

Objective-C学习之旅 第二篇

Objective-C学习之旅 第二篇 Objective-C 字符串处理 //苹果从iOS5开始,就引入了ARC这种内存管理技术,目的就是消除繁琐而容易出错的手工内存管理行为. //如果项目是ARC的,那么就不能调用原来的retain, release, autorelease,而且dealloc也不再需要内存维护相关的代码. //也就是说下面的例子中,如果在ARC模式下,就不用[astring release]; /**************************************

由浅入深,走进Python装饰器-----第二篇:进阶--函数装饰函数

上一篇:由浅入深,走进Python装饰器-----第一篇:基础 装饰器的使用种类: # 第一种 @函数 被装饰函数 # 第二种 @函数 被装饰类 # 第三种 @类 被装饰类 # 第四种 @函数 被装饰函数 本篇介绍第一种 @函数 被装饰函数 1.1 对带参数的原函数进行修饰 # 默认将old函数的参数传给outer里面的第一层函数 def outer(f): def inner(var): print("1 我是outer函数,接收外部传进来的old :",f) print("

【Python之旅】第八篇:开发监控软件的思想与流程

最近两周时间里,一直都在学习监控软件的开发,虽然是简版的,可是在这个过程当中,对于要开发一个监控软件的大概框架和流程还真的学习了很多东西,而且也想,这些知识实在是很难通过看文章或者是书籍能学习得到,只有自己亲自去实践过,我想才可以慢慢体会到这中间的不易吧.而通过这样一个过程,发现自己在这方面的思想枷锁也慢慢地打开,也才慢慢体会到那种乐趣吧.这里,真的是非常感谢Alex老师非常精彩的讲解. 监控软件的大概流程如下:     当然,实际中学习的过程中并没有去监控MySQL或者是ngnix,而只是监控

Python开发【第二篇】:初识Python

Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第四!!!   Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几乎所有大中型互联网企业都

Python学习【第二篇】Python入门

Python安装 windows: 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右键计算机]-->[属性]-->[高级系统设置]-->[高级]-->[环境变量]-->[在第二个内容框中找到 变量名为Path 的一行,双击] --> [Python安装目录追加到变值值中,用 : 分割] 如:原来的值;C:\python27,前面有分号 linux: 自带python

Python自动化 【第二篇】:Python基础-列表、元组、字典

本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,让我们先来象征性的学2个简单的. sys 1 #!/usr/bin/env python 2 3 # -*- coding: utf-8 -*- 4 5 6 7 import sys 8 9 10 11 print(sys.argv) 12 13

Python之旅 (基础篇1-22)

格式化输出:format  %s  %d 第一种写法: #name=input('name:') #age=input('age:') #job=input('job:') #info=''' #name:%s #age:%s #job:%s #'''%(name,age,job) #print (info) #name=input ('请输入名字:') #age=input ('请输入年龄:') #score=input ('请输入成绩:') #mag ='我叫%s,我今年%s,我成绩是优秀%

我的Python之旅第二天

一 .字符串操作 1单引号('').双引号("").三引号(""" """)的区别. 如果字符串中不包含单引号.双引号,则三个引号没有区别. msg1="Today is a nice day,everyday is a new day" print(msg1) Today is a nice day,everyday is a new day 如果字符串中包含单引号,则应使用双引号或者三引号. msg2=

Python开发【第二篇】: 基本数据类型(一)

1. 整型 ??整型即整数,用 int 表示,在 Python3 中整型没有长度限制. 1.1 内置函数 ??1. int(num, base=None) ??int( ) 函数用于将字符串转换为整型,默认转换为十进制. >>> int('123') 123 >>> int('123', base=16) 291 ??2. bit_length( num) ??当前数字的二进制,至少用多少位表示. >>> a = 5 >>> a.bi