Я пытаюсь объединить два списка, если они содержат определенное слово.
Мой код работает нормально, пока я не попытаюсь передать его в функцию или цикл 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']
, следовательно, цикл for для функции карты.