Python 如果两个不同函数的键匹配,我将如何使用它们的值?
我在尝试使用每个函数的值并将它们组合在一起时遇到困难。我想在不同的函数中使用每个函数的局部变量,只要它们的主(类别)相互匹配,我就会将每个值进行分割。我目前有:Python 如果两个不同函数的键匹配,我将如何使用它们的值?,python,python-2.7,Python,Python 2.7,我在尝试使用每个函数的值并将它们组合在一起时遇到困难。我想在不同的函数中使用每个函数的局部变量,只要它们的主(类别)相互匹配,我就会将每个值进行分割。我目前有: counters = {} def participated(): for line in reader: if int(line[6]) > 0: primary = line[7].strip('[]') counters.setdefault(prim
counters = {}
def participated():
for line in reader:
if int(line[6]) > 0:
primary = line[7].strip('[]')
counters.setdefault(primary, 0)
counters[primary] += 1
for k, v in counters.items():
print(k, v)
def generalNumber():
for line in reader:
primary = line[7].strip('[]')
counters.setdefault(primary, 0)
counters[primary] += 1
for k, v in counters.items():
print(k, v)
如何从每个函数中提取counter.item()
中的v
,并使用它彼此分割,例如:
success_percentage = v from participated() / v from generalNumber ()
在哪里
将
计数器
dict设置为每个函数的本地,并将返回
函数中的每个计数器
:
def participated():
counters = {}
for line in reader:
if int(line[6]) > 0:
primary = line[7].strip('[]')
counters.setdefault(primary, 0)
counters[primary] += 1
for k, v in counters.items():
print(k, v)
return counter
def generalNumber():
counters = {}
for line in reader:
primary = line[7].strip('[]')
counters.setdefault(primary, 0)
counters[primary] += 1
for k, v in counters.items():
print(k, v)
return counter
然后调用函数并使用返回的字典执行除法,如下所示:
counter_p = participated()
counter_g = generalNumber()
# here you have a list of success percentages
success_percentage = [counter_p.get(primary)/counter_g.get(primary, 1) for primary in counter_p]
我在
counter_g.get(primary,1)
中使用了get
和默认的1
,因此如果primary
存在于counter_p
中,但不存在于counter_g
中,则代码不会中断,但是以静默方式返回1
而不是只打印返回计数器的值
,并使用这些字典在循环中执行其他操作。很抱歉,您能否详细介绍如何使用返回计数器并使用它们?
counter_p = participated()
counter_g = generalNumber()
# here you have a list of success percentages
success_percentage = [counter_p.get(primary)/counter_g.get(primary, 1) for primary in counter_p]