【发布时间】:2016-05-06 20:17:23
【问题描述】:
用
说明a = ['abc', 'efg', 'hij']
我想得到
a = ['abc!', 'efg!', 'hij!']
但显然没有使用for elements in a:...因为它不是切割器,我想更多地了解map 函数以及它如何传递参数。
所以我尝试使用 map 函数将'!' 附加到列表的所有元素。但在此之前,append 是 list 方法,而不是 str 方法。
b = map(list,a) # gives : a = [['a','b','c'],['d','e','f'],['h','i','j']]
a = map(list.append(['!']), b)
最后一个 map 函数返回一个 TypeError:
TypeError: append() takes exactly one argument (0 given)
我想知道是否可以将参数传递给map 使用的方法。
谢谢。
【问题讨论】:
-
你需要合并一个lamba,但你不应该使用map来产生副作用,它会比常规循环慢,不知道你为什么这么想*但显然没有在a中使用for元素:...因为它不聪明 * 因为像你一样使用地图是一个更糟糕的想法
-
我想避免人们用循环功能回答。就是这样。
-
我也认为我的问题与“理解地图功能”有关,但更具体。它不是真正的复制品。感谢您的帮助:)
标签: python python-2.7