Defining a parameter out of pairs and values

I’m not sure I understand what the expected result is, but I try


[ (person,pair)=>person_values(person,pair...)  for (person,pair) in Iterators.product(Persons,Pairs)][:]

18-element Vector{Pair{Tuple{Char, Tuple{Int64, Int64}}}}:
 ('p', (1, 2)) => 2.5
 ('q', (1, 2)) => 2.5
 ('p', (1, 7)) => 4.1
 ('q', (1, 7)) => nothing
 ('p', (2, 3)) => 7.4
 ('q', (2, 3)) => 7.4
 ('p', (2, 5)) => nothing
 ('q', (2, 5)) => 5.6
 ('p', (3, 4)) => nothing
 ('q', (3, 4)) => nothing
 ('p', (3, 5)) => nothing
 ('q', (3, 5)) => nothing
 ('p', (4, 1)) => nothing
 ('q', (4, 1)) => nothing
 ('p', (4, 5)) => nothing
 ('q', (4, 5)) => nothing
 ('p', (5, 2)) => nothing
 ('q', (5, 2)) => 3.2

#or, if you prefere

julia> [ (person,pair...)=>person_values(person,pair...)  for (person,pair) in
                               Iterators.product(Persons,Pairs)][:]
18-element Vector{Pair{Tuple{Char, Int64, Int64}}}:
 ('p', 1, 2) => 2.5
 ('q', 1, 2) => 2.5
 ('p', 1, 7) => 4.1
 ('q', 1, 7) => nothing
 ('p', 2, 3) => 7.4
 ('q', 2, 3) => 7.4
 ('p', 2, 5) => nothing
 ('q', 2, 5) => 5.6
 ('p', 3, 4) => nothing
 ('q', 3, 4) => nothing
 ('p', 3, 5) => nothing
 ('q', 3, 5) => nothing
 ('p', 4, 1) => nothing
 ('q', 4, 1) => nothing
 ('p', 4, 5) => nothing
 ('q', 4, 5) => nothing
 ('p', 5, 2) => nothing
 ('q', 5, 2) => 3.2