【发布时间】:2023-03-17 09:45:01
【问题描述】:
我有一个格式如下的数组:
[(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))
任何帮助将不胜感激,因为可能有更好的方法来做到这一点。谢谢。
萨拉
【问题讨论】:
-
究竟是什么没有按预期工作?
-
你应该把你所有的
elifs改成ifs,否则它只会检查1个缺失的元素,但是如果2或3个缺失怎么办? -
您真的应该考虑为此使用
dict。它特别适合存储名称-值对。它使查找条目更加直接。
标签: python arrays tuples missing-data