如何得到重复运动各自的组名和重量。。。?

2024-09-22 14:20:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有三本字典

dic1 = {
    'g1': ['akshay', 'swapnil', 'parth','juhi'], 
    'g2': ['megha', 'varun', 'tarun'], 
    'g3': ['gaurav', 'geeta']
}
dic2 = {
    'g1': ['hockey', 'basketball', 'football'], 
    'g2': ['cricket', 'chess', 'badminton', 'carrom'], 
    'g3': ['pool', 'hockey', 'tabletennis']
}
dic3 = {
    'g1': ['45', '35', '56'], 
    'g2': ['67', '76', '65', '50'], 
    'g3': ['8', '70', '96']
}

这里,“曲棍球”分为两组,重量不同

此外,一些重量的计算是要做的一组名称与各自的权重只

我想要的是,对于一项运动,应该提取相应的权重,并对相应的组名进行计算

在这种情况下:

For ['akshay', 'swapnil', 'parth','juhi'], weight=45 
For ['gaurav', 'geeta'], weight=70

应该用来计算

我已经做了这么多了

for k2,v2 in dic2.items():
   if 'hockey' in v2:
       position = v2.index('hockey')
       for k3,v3 in dic3.items():
          if k2==k3:
             weight = v3[position]
             print(weight)

期望输出:

 [{'comp': ['akshay', 'swapnil', 'parth','juhi'], 'weight': 45},
  {'comp': ['gaurav', 'geeta'], 'weight': 70}]

有人能帮我拿这些吗


Tags: inv2weightg1g2akshaydic2g3
1条回答
网友
1楼 · 发布于 2024-09-22 14:20:50

你有三个dict,三个dict之间的键是相同的。这是三者之间的主要相关因素。因此,在遍历一个dict时,可以使用同一个键从其他字典中获取值。体育和重量之间的相互关系是基于它们在各自列表中的相对位置而来的。这是通过获取一个列表中某个值的索引并获取相应列表中相同位置的值来实现的

根据您的输入和输出期望,请尝试以下代码:

dic1 = {
    'g1': ['akshay', 'swapnil', 'parth','juhi'],
    'g2': ['megha', 'varun', 'tarun'],
    'g3': ['gaurav', 'geeta']
}
dic2 = {
    'g1': ['hockey', 'basketball', 'football'],
    'g2': ['cricket', 'chess', 'badminton', 'carrom'],
    'g3': ['pool', 'hockey', 'tabletennis']
}
dic3 = {
    'g1': ['45', '35', '56'],
    'g2': ['67', '76', '65', '50'],
    'g3': ['8', '70', '96']
}

for k, v in dic2.items():
    for i, l in enumerate(v):
        print("Group = %s" %(k))
        print("Name List = %s, Sport = %s Weight = %s" %(dic1[k], l, dic3[k][i]))

输出:

Group = g3
Name List = ['gaurav', 'geeta'], Sport = pool Weight = 8
Group = g3
Name List = ['gaurav', 'geeta'], Sport = hockey Weight = 70
Group = g3
Name List = ['gaurav', 'geeta'], Sport = tabletennis Weight = 96
Group = g2
Name List = ['megha', 'varun', 'tarun'], Sport = cricket Weight = 67
Group = g2
Name List = ['megha', 'varun', 'tarun'], Sport = chess Weight = 76
Group = g2
Name List = ['megha', 'varun', 'tarun'], Sport = badminton Weight = 65
Group = g2
Name List = ['megha', 'varun', 'tarun'], Sport = carrom Weight = 50
Group = g1
Name List = ['akshay', 'swapnil', 'parth', 'juhi'], Sport = hockey Weight = 45
Group = g1
Name List = ['akshay', 'swapnil', 'parth', 'juhi'], Sport = basketball Weight = 35
Group = g1
Name List = ['akshay', 'swapnil', 'parth', 'juhi'], Sport = football Weight = 56

相关问题 更多 >