Преобразование обоих списков для установки и использования минуса будет лучшим решением
diff_files = list(set(baseNames) - set(testList))
И отметьте len(diff_files)
для конечной цели
Обновление 1: [ 117]
Ниже кода идея, она не является оптимальной, возможно.
baseNames = ["this", "that", "howdy", "hello", "anotherfile"]
testList = ["this.txt","that.txt","howdy.txt","hello.txt"]
existed_files = list()
for basename in baseNames:
for filename in testList:
if basename in filename:
existed_files.append(basename)
break
if (len(existed_files) != len(baseNames)):
raise Exception('Not all matched')
Обновление 2: получить только не существующие файлы
baseNames = ["this", "that", "howdy", "hello", "anotherfile"]
testList = ["this.txt","that.txt","howdy.txt","hello.txt"]
not_found_files = set()
for basename in baseNames:
found = False
for filename in testList:
if basename in filename:
found = True
break
if not found:
not_found_files.add(basename)
if not_found_files:
print('Not found files')
print(not_found_files)
raise Exception('Not all matched')
Для него возможно отличаться, но который обычно только относится к принтерам. Можно безопасно предположить, что экран будет всегда иметь идентичные горизонтальные и вертикальные точки на дюйм.
Я никогда не видел, что они отличаются, но на этой странице MSDN я вижу комментарий, который предполагает, что они могли бы быть:
int nHorz = dc.GetDeviceCaps(LOGPIXELSX);
int nVert = dc.GetDeviceCaps(LOGPIXELSY);
// almost always the same in both directions, but sometimes not!
Я никогда не видел случай, где они отличаются, но то, что существует два отдельных призыва к нему, убедительно предполагает, что они могли бы иногда быть.