Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 额外0';附加了一些注释_Python 3.x - Fatal编程技术网

Python 3.x 额外0';附加了一些注释

Python 3.x 额外0';附加了一些注释,python-3.x,Python 3.x,我正在计算数据,如果找到一项运动,那么应该为相应的名称组和相应的权重计算数据,如果没有找到,那么应该附加“0” 这是我的代码: Name_list = ['akshay', 'swapnil', 'parth','juhi','megha', 'varun', 'tarun','gaurav', 'geeta'] dic1 = { 'g1': ['akshay', 'swapnil', 'parth','juhi'], 'g2': ['megha', 'varun', 'tarun'],

我正在计算数据,如果找到一项运动,那么应该为相应的名称组和相应的权重计算数据,如果没有找到,那么应该附加“0”

这是我的代码:

 Name_list = ['akshay', 'swapnil', 'parth','juhi','megha', 'varun', 'tarun','gaurav', 'geeta']

 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):
        if l=='hockey':
           comp_list = dic1[k]
           weight = dic3[k][i]
           for name in Name_list:
                if name in comp_list:
                   a = (1*int(weight))/100
                else:
                   a = 0
                print(a)
获得的输出为:

 0.45
 0.45
 0.45
 0.45
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0.7
 0.7
在这里,添加了更多的零,尽管名称列表中只有9个名称

所需输出为:

 0.45
 0.45
 0.45
 0.45
 0
 0
 0
 0.7
 0.7

有人能帮我解决这个问题吗?

您迭代dic 3的所有元素及其数组中的所有后续元素。您有两个“曲棍球”字段,这意味着您将执行两次在名称列表中查找的循环,因此您将打印2x9=18次。

您将遍历dic 3的所有元素及其数组中的所有子元素。您有两个“曲棍球”字段,这意味着您将执行两次在名称列表中查找的循环,因此您将打印2x9=18次。

“曲棍球”在dic2中有两次:一次在
g1
中,一次在
g3
中。因此,您要处理名称列表两次。如何解决this@PARTHKHAMAR你可以做很多事情。从一个
dic2
列表中删除
'hockey'
,在第一次看到它后打破循环,重构循环。。。你想采取哪种方法取决于你实际想要实现的目标,这在你的问题中并不清楚。我想要的是“a”应该用以下公式计算:对于['akshay'、'swapnil'、'parth'、'juhi'],wt=45,对于['gaurav'、'geeta'],wt=70,因为“曲棍球”出现在“g1”和“g3”中。“曲棍球”在dic2中出现两次:一次在
g1
中,一次在
g3
中。因此,您要处理名称列表两次。如何解决this@PARTHKHAMAR你可以做很多事情。从一个
dic2
列表中删除
'hockey'
,在第一次看到它后打破循环,重构循环。。。你想采取哪种方法取决于你实际想要实现的目标,这一点从你的问题中并不清楚。我想要的是“a”应该用以下公式计算:对于['akshay'、'swapnil'、'parth'、'juhi'],wt=45;对于['gaurav'、'geeta'],wt=70,因为“曲棍球”出现在“g1”和“g3”中。