问题描述
我有2个for
循环运行良好。问题是我想将它们组合起来以避免在我的data2
数据帧中添加重复项。换句话说,我希望for value in Dic["synonyms.0"].values:
循环仅在之前的value in line :
迭代中没有for
时发生。
这是我的代码:
for value in Dic["label"].values:
if (value != None) :
if value in line :
data2.append([value,line.count(value),len(value),dosage])
for value in Dic["synonyms.0"].values:
if (value != None) :
if value in line :
data2.append([value,dosage])
解决方法
您只需要添加一个布尔值即可确定第一次迭代的过程
found_value = False
for value in Dic["label"].values:
if (value != None) :
if value in line :
data2.append([value,line.count(value),len(value),dosage])
found_value = True
if not found_value:
for value in Dic["synonyms.0"].values:
if (value != None) :
if value in line :
data2.append([value,dosage])
如注释中所指出,如果您在第一个for循环中未使用break
,则可以替换布尔值
for value in Dic["label"].values:
if (value != None) :
if value in line :
data2.append([value,dosage])
break
else:
for value in Dic["synonyms.0"].values:
if (value != None) :
if value in line :
data2.append([value,dosage])