Python isdigit() function can’t check negative numbers because this method tests for digits only, and - is not a digit. Use lstrip to remove - or use int() to catch the ValueError exception instead if you wanted to detect integers:
value.lstrip("-").isdigit()Python isdigit negative example
A simple example code converts all numbers into integers using the .isdigit() method
mylist = ["name", "test", "1", "3", "-3", "name"]
print(mylist)
for i in range(len(mylist)):
try:
mylist[i] = int(mylist[i])
except ValueError:
pass
print(mylist)Output:

Use lstrip() function first. This will work for positive and negative numbers.
str = "-2137"
res = str.lstrip('-').isdigit()
print(res)
Output: True
Do comment if you have any doubts or suggestions on this Python isdigit topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
Windows 10
Python 3.10.1
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.