我有3个python列表:
list
ItemNumbersClean
FinalList
对于ItemNumbersClean
中的每一项,我想找出它是否在list
中。如果它在list
中,那么从FinalList
中查找信息并将其全部添加到一个新列表:ExcelList
。你知道吗
这是我的密码:
for l in ItemNumbersClean:
count += 1
if l in list:
for t in FinalList:
i = t[0]
if i == l:
excelList.append([str(i), str(t[1]), str(t[2])])
match_counter += 1
elif l not in list:
not_found_counter += 1
excelList.append(['not found', 'not found', 'not found'])
ItemNumbersClean
具有项目编号的长度。你知道吗
但是,当我把调试计数器(match\u counter和not\u found\u counter)加在一起时,我得到186。你知道吗
同样ExcelList
的长度也是186。你知道吗
由于ItemNumbersClean
的长度只有151,因此excelList
长度超过151的唯一可能方式是ItemNumbersClean
中的某些项同时传递if
和elif
语句。你知道吗
我似乎不明白这是怎么可能的,或者一般来说,(一个项目不能既在列表中又不在列表中),或者我的代码可能是怎么造成这种情况的。你知道吗
您的代码不能同时传递
if
和elif
语句。即使这两个条件可以同时应用(在您的情况下它们不能),也只有在if
检查失败时才会检查elif
。你知道吗相反,您可能必须在
if i == l:
之后添加一个break
,否则单个项l
可能会多次添加到FinalList
,这可能就是这里发生的情况。你知道吗相关问题 更多 >
编程相关推荐