我正试图从一个名为DEV_TYPE的字段中对访问表中的一些记录进行光标搜索。我想将每个记录与我先前在脚本中构建的已知值列表进行比较:
(开发者)
我想打印出列表中没有出现的任何值。记录中的某些值也为空。我想将if语句设置为只打印列表中没有的值,但也不想为空值打印“None”。我的剧本如下:
if field.name == "DEV_TYPE":
for iRow in arcpy.SearchCursor(fc):
if not iRow.DEV_TYPE is None or iRow.DEV_TYPE not in devcatList:
print str(iRow.OBJECTID) + " - " + str(iRow.DEV_TYPE)
我玩过从“
if not x is None
”到“if x is not None
”的游戏。将“or
”更改为和“and
”(尽管这是违反直觉的),但我的打印输出要么返回所有值,要么不返回值,要么只返回“None
”……基本上是所有我不想要的内容。我肯定我在做傻事。有人能指出我的愚蠢是什么吗?谢谢,
迈克
最佳答案
我想你想要if iRow.DEV_TYPE is not None and iRow.DEV_TYPE not in devcatList: