| Bug ID Number |
BUG-000140734 |
| Submitted | June 15, 2021 |
| Last Modified | March 20, 2025 |
| Applies to | ArcGIS Pro |
| Version found | 2.8 |
| Operating System | Windows OS |
| Operating System Version | 10.0 64 Bit |
| Status | Will Not Be Addressed
The development team has considered the issue or request and concluded it will not be addressed. The issue's Additional Information section may contain further explanation.
|
Additional Information
This is a quirk of the is the operator in Python (which checks whether two objects point to the same memory), and how strings are stored (equivalent alphanumeric strings like 'Texas' point to the same object in memory when invoked, strings such as 'South Dakota' do not point to the same object in memory. The top answer at https://stackoverflow.com/questions/16756699/is-operator-behaves-differently-when-comparing-strings-with-spaces describes this well). String equality has to be checked using == (which checks for value equality) for this reason.
Workaround
It is to be noted other operators can be used in the scenario to return the results when matching them up with the fields having values of either spaces or some other special characters.
Expression 1:
def Reclass(value1):
if value1 == 'South Dakota':
return 1
else:
return 0
Expression 2:
def Reclass(value1):
if 'South Dakota' in value1:
return 1
else:
return 0
Steps to Reproduce