1
我有一个list
和一个dict
。迭代嵌套循环
一旦我输入嵌套for
循环,第一个for
循环不会继续遍历值。这只允许我遍历一次,无论我的if
语句是否成功。
for OldRecord in StripOldList:
OldSplitRec = OldRecord.split('_')
value1 = OldSplitRec[1]
value2 = OldSplitRec[2]
value3 = OldSplitRec[3]
value3 = OldSplitRec[4]
value3 = OldSplitRec[5]
diffdict = {}
for SomeRec in DiffSplitText:
key1, key2, key3, key4, key5= SomeRec.strip().split('_')
FinalLabel = key1+"_"+key2+"_"+key3+"_"+key4+"_"key5+"_"+key6
diffdict[key1,key2,key3,key4,key5.strip()] = FinalLabel
IsNewEdition = True
IsNewVersion = True
IsNewFileType = True
if (value1 == key1 and value2 == key2):
IsNewFileType = False
if (value3 >= key3):
IsNewEdition = False
if (value5 >= key5):
IsNewVersion = False
if (IsNewFileType == True):
print "No Match"
elif (IsNewEdiion == True):
print "Found new edition"
link1.write(SomeRec)
elif (IsNewVersion == True):
print "Found new version"
link2.write(SomeRec)
然后,我举例来说value1
与key1
,或value5
与key6
比较。我的if
声明工作,但只做一次,所以这是我唯一关心的部分。
它读看上去就像个文件的一个例子:
Ex_299_Jabba_1993_09_20150805
所以,如果旧的名单有:
Ex_299_Jabba_1993_09_20130805
Ex_298_Jabba_1993_09_20130805
Ex_297_Jabba_1993_09_20130805
和新的词典有:
Ex_299_Jabba_1993_09_20140805
Ex_298_Jabba_1994_09_20130805
Ex_297_Jabba_1993_09_20130805
它应该识别字典中的更新文件名并将它们写入正确的位置(用强调)。
Ex_299_Jabba_1993_09_**20140805**
Ex_298_Jabba_**1994**_09_20130805
向我们展示正在运行的完整示例代码。 – 2014-08-28 14:41:20
什么是“DiffSplitText”?如果您想比较所有可能的配对,请查看['itertools.combinations'](https://docs.python.org/2/library/itertools.html#itertools.combinations)。 – jonrsharpe 2014-08-28 14:42:26
DiffSplitText只是它从 – 2014-08-28 15:06:11