Skip to main content
 首页 » 编程设计

Python 在数组中插入缺失的元素

2025年05月04日68qlqwjy

我有一个格式如下的数组:

[(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))