我正试图从一个名为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:

09-12 21:38