You generally get typeerror ‘builtin_function_or_method’ object is not subscriptable in Python when you try to use function as array.
someArray = ['Ironman', 'Thor', 'Hulk'] someArray.pop[0]
The above code will generate ‘builtin_function_or_method’ object is not subscriptable error because we are not using pop function properly. We are indexing it as if it was an array but in reality it is a function. You can use the above code correctly like this –
someArray = ['Ironman', 'Thor', 'Hulk'] someArray[0] // Output: Ironman someArray.pop(0) // Output: Ironman
pop[0] should be used as pop(0).
Same thing applies with the set() function. Sets are unordered lists which do not have duplicate values. Sometimes we incorrectly use set like this –
someArray = set[('Ironman', 'Thor', 'Hulk', 'Hulk')]
// TypeError: 'builtin_function_or_method' object is not subscriptable
You can see we have use square bracket [ and parenthesis ( incorrectly. The correct way of doing it is –
someArray = set(['Ironman', 'Thor', 'Hulk', 'Hulk'])
Other methods related to lists where the error could appear are –
| list.append(x) | Add an item to the end of the list. |
| list.extend(L) | Extend the list by appending all the items in the given list. |
| list.insert(i, x) | Insert an item at a given position. The first argument is the index of the element before which to insert |
| list.remove(x) | Remove the first item from the list whose value is x. |
| list.pop([i]) | Remove the item at the given position in the list, and return it. |
| list.index(x) | Return the index in the list of the first item whose value is x. |
| list.count(x) | Return the number of times x appears in the list. |
| list.sort(cmp=None, key=None, reverse=False) | Sort the items of the list in place |
| list.reverse() | Reverse the elements of the list, in place. |