鉴于这一部分-
for e, m in enumerate(mfilist):
if not any(m[0] and m[1] and m[2] and m[3] and m[4] in sublist for sublist in internaltbl):
goodlist.append(m)
copygood.append(copylist[e])
一些列表应该附加到goodlist,因为它们在internaltbl中不存在与上面过滤的组合元素重复的列表。你知道吗
例如,mfilist中有一个条目:
[u'{8E25CEF3-4098-4148-9122-E9978DCB077D}', u'{889280F1-8F0B-48E8-A8D2-FCA44BA3D492}', u'{1A290F5B-CB24-4E5B-8342-B6B256150D1F}', 2, 'C', '', datetime.datetime(2014, 7, 14, 0, 0), '', '', '', 'FALSE', 'A1', 'Map']
还有一个来自internaltbl:
[u'Historical', u'{03810429-88FD-4ACD-A8EE-1A6E21250B94}', u'{4FBB1469-1C0D-4DBE-9C98-CFECA12748C3}', u'{ED96E80A-A20F-4DEA-92A6-2DF783C7665F}', 2, u'C', u'PPR, u'ArcMap Document (*.mxd)', u'L', datetime.datetime(2014, 5, 1, 0, 0), u'LG', u'CHJ', u'TB', None, u'Proposed']
此后,我确保每个元素都具有字符串值,以避免出现“强制使用unicode”之类的问题,但问题仍然存在——没有附加任何内容。你知道吗
没有这些guid的组合,那么internaltbl中就存在“2,C”。你知道吗
有什么想法?你知道吗
你遇到了运算符优先级的问题。在此位中:
您要评估的是:
但Python看到的是:
因为非空字符串将type duck为True,所以只要m[4]在sublist中并且所有其他字符串都非空,结果就是True。你知道吗
如果不想分别编写每个成员资格测试,请使用以下快捷方式:
相关问题 更多 >
编程相关推荐