Python map object is not subscriptable

Viewed 164714

Why does the following script give the error:

payIntList[i] = payIntList[i] + 1000
TypeError: 'map' object is not subscriptable

payList = []
numElements = 0

while True:
        payValue = raw_input("Enter the pay amount: ")
        numElements = numElements + 1
        payList.append(payValue)
        choice = raw_input("Do you wish to continue(y/n)?")
        if choice == 'n' or choice == 'N':
                         break

payIntList = map(int,payList)

for i in range(numElements):
         payIntList[i] = payIntList[i] + 1000
         print payIntList[i]
3 Answers

Don't need to use range for this problem in pypy3 or python3, so it is actually less code..

for i in payIntList: print ( i + 1000 )

and coincidentally matches RustyTom's comment in PhiHag's solution above. Note : Can not reference a map using array brackets [] in pypy3 or python3 or it will throw the same error.

payIntList[i] 

Map ref caused the error.

Related