我有一个格式如下的数组:
[(u'iapsetting', 0), (u'iap-mms',0)]
数组必须只包含这种类型的元组:
(u'mmssetting', 0) or (u'iapsetting', 0) or (u'iap-mms', 0)
我的第一个数组显然缺少 (u'mmssetting',0),但它可以是缺少/现有元组的许多不同组合。
我正在努力寻找一种方法来添加正确的缺失元组。该数组必须始终仅包含 3 个元组。
这是我目前所拥有的,但它没有按预期工作:
for type in setup: #setup is the array containing 1,2 or 3 tuples
iap_found = False
mms_found = False
iap_mms_found = False
if type[0]=='iapsetting':
iap_found = True
elif type[0]=='mmssetting':
mms_found = True
elif type[0]== 'iap-mms':
iap_mms_found = True
#Add missing settings
if(iap_found==False):
print("MISSING IAP",setup)
setup.append((u'iapsetting',0))
elif(mms_found==False):
print("MISSING MMS",setup)
setup.append((u'mmssetting',0))
elif(iap_mms_found==False):
print("MISSING IAP-MMS",setup)
setup.append((u'iap-mms',0))
任何帮助将不胜感激,因为可能有更好的方法来做到这一点。谢谢。
萨拉
请您参考如下方法:
试试这个:
existing = set(x[0] for x in setup)
for expected in ('iapsetting', 'mmssetting', 'iap-mms'):
if expected not in existing:
setup.append((expected, 0))
