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)
时间: 2024-10-12 09:21:22