Вы передаете строку в качестве первого аргумента для map, который ожидает вызова в качестве первого аргумента:
lines = map(str.strip(' '),map(str.lower,f1.readlines()))
Я думаю, вы хотите следующее:
lines = map( lambda x: x.strip(' '), map(str.lower, f1.readlines()))
, который вызовет strip
для каждой строки в результате другого вызова map
.
Кроме того, не используйте str
в качестве имени переменной, так как это имя встроенной функции.