(Fixed) Python TypeError ‘bool’ object is not subscriptable
































































5/5 - (1 vote)





Problem Formulation



Consider the following minimal example where a TypeError: 'bool' object is not subscriptable occurs:



boo = True
boo[0]
# or:
boo[3:6]



This yields the following output:



Traceback (most recent call last):
File "C:UsersxcentDesktopcode.py", line 2, in <module>
boo[0]
TypeError: 'bool' object is not subscriptable



Solution Overview



Python raises the TypeError: 'bool' object is not subscriptable if you use indexing or slicing with the square bracket notation on a Boolean variable. However, the Boolean type is not indexable and you cannot slice it—it’s not iterable !



In other words, the Boolean class doesn’t define the __getitem__() method.



boo = True
boo[0] # Error!
boo[3:6] # Error!
boo[-1] # Error!
boo[:] # Error!



You can fix this error by



converting the Boolean to a string using the str() function because strings are subscriptable, removing the indexing or slicing call, defining a dummy __getitem__() method for a custom “Boolean wrapper class”.




</div>
<div class=