在Python中从不同元组创建对

在Python中从不同元组创建对,python,python-3.x,list,tuples,Python,Python 3.x,List,Tuples,在下面找到一个团队列表,以及两个元组devTuple和baTuple。我想从元组创建一个Python新元组对Dev和BA。开发人员和BA应属于同一个团队 teamlist = ["T1", "T2", "T3", "T4", "T5"] devTuple = ( 1, "Dev1", "T1", 2, "Dev2", "

在下面找到一个团队列表,以及两个元组devTuple和baTuple。我想从元组创建一个Python新元组对Dev和BA。开发人员和BA应属于同一个团队

teamlist = ["T1", "T2", "T3", "T4", "T5"]
devTuple = (
  1, "Dev1", "T1",
  2, "Dev2", "T2",
  3, "Dev3", "T3",
  4, "Dev4", "T3",
  5, "Dev5", "T1",
  6, "Dev6", "T3",
  7, "Dev7", "T3"
)
baTuple = (
  1, "BA1", "T1",
  2, "BA2", "T2",
  3, "BA3", "T3",
  4, "BA4", "T3",
  5, "BA4", "T3",
  6, "BA4", "T1",
  7, "BA4", "T1",
  8, "BA4", "T2"
)

根据您的输入定义,这里有一种方法可以生成一个字典,使用团队作为键和每个团队的参与者列表

def joinOnTeams(at, bt):
    rslt = dict()
    def loadDict(t):
        for i in range(2, len(t), 3):
            tl = rslt.pop(t[i], [])
            tl.append(t[i-1])
            rslt[t[i]] = tl

    loadDict(at)
    loadDict(bt)
    return rslt  
然后执行
jointeams(devTuple,baTuple)
,得到:

{'T3': ['Dev3', 'Dev4', 'Dev6', 'Dev7', 'BA3', 'BA4', 'BA4'],
 'T1': ['Dev1', 'Dev5', 'BA1', 'BA4', 'BA4'],
 'T2': ['Dev2', 'BA2', 'BA4']}

预期的输出是什么?将dev和ba存储为元组数组不是更有意义吗?同样,考虑到它是一个连续的元组而不是元组的元组,我们是否可以保证每三个元素都是一个有意义的组?@HenryEcker QWERTL,目标是我需要有一个Dev-BA对的列表,而不需要重复来自同一团队的相同Dev和BA。我们也可以将BA和DEV存储在数组中。我只是想把我的问题简化一点,以便更好understanding@SriChin你能结束你的问题,展示一下预期的输出是什么样子吗?