-1
我试图合并两个列表,如果它们包含某个单词。Map函数在For循环中不起作用
我的代码工作正常,直到我尝试将它转移到函数或for循环下。
只有这样,我得到:
TypeError: argument 2 to map() must support iteration
我也试过更换map(None, a,b)
与itertools.imap(None, a,b)
所建议的其他职位,但得到:
TypeError: 'int' object is not iterable
有什么建议?
a = 0
b = 0
row_combine = []
for row in blank3:
if 'GOVERNMENTAL' in row:
a = row
if 'ACTIVITIES' in row:
b = row
c = map(None, a,b) #problem is here
for row in c:
row1 = []
if row[0] == None:
row1.append(''.join([''] + [row[1]]))
else:
row1.append(''.join([row[0]] + [' '] + [row[1]]))
row_combine.append(''.join(row1))
输出a
:
a = [' ', u'GOVERNMENTAL', u'BUSINESS-TYPE']
输出b
:
b = [u'ASSETS', u'ACTIVITIES', u'ACTIVITIES', u'2009', u'2008', u'JEDO']
需要它是:
[ u'ASSETS', u'GOVERNMENTAL ACTIVITIES', u'BUSINESS-TYPE ACTIVITIES', u'2009', u'2008', u'JEDO']
因此用于循环后映射函数。
说不上你试图在这里做什么,但不管它是什么,我相当肯定地图不是这样做的。 – 2012-02-15 15:56:29