码迷,mamicode.com
首页 > 编程语言 > 详细

吾爱Python群群友问题答疑

时间:2015-11-06 13:15:37      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

1、首先一位群友提出这样的问题

技术分享

这个错误很明显,int类型的对象是不支持迭代的,这个是显而易见的。于是给出的解决方案也是很简单的,只需要把int类型数字变为str类型即可。

技术分享

2、这位群友说,他的元组里可能什么类型的数据都有,上面方式可能不适用,然后他又举了个例子,说是数据是这样的

技术分享

又是int类型不能迭代错误,难道传入的参数不是c[0]?但是呢

技术分享

3、看来在上面map(list,c[0])中传入list中的参数还真不是c[0],我们有必要学习一下map到底搞得什么鬼?下面看一下map的帮助文档

技术分享

我们就看第一句话就可以了,它是将参数列表中的各项运用function函数处理,最后输出一个结果列表。举个简单例子解释一下这句话,

技术分享

首先定义一个add函数,参数列表是[1,2,3],计算结果是[2,3,4],所以说实际每次传入add()函数中的值是参数列表中的一个值,而不是参数列表本身,通过迭代方式运行。

因此map(list,c[0]),实际传入list的是c[0]中的数字1,而list(1)是错误的。

实际上这位群友想得到的结果是[[1,‘zhang‘],[2,‘san‘]],所以正确的写法是map(list,c)

吾爱Python群群友问题答疑

标签:

原文地址:http://my.oschina.net/dfsj66011/blog/526863

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!