I am trying to generate a list of all possible outcomes of a football/soccer match that I will then pass into another function. However, my program creates a list of 10 lists (each containing two elements) instead of one long list. Thus, it will not loop through in the coming function.
I am unable to use .split() because there was nothing I could use as a proper splitting character.
Does anyone know how I can either break up "test_scores" or how to generate a single, 100 object list, from the beginning?
Thank you so much.
import numpy as np
team1= np.array(list(range(10)))
team2=np.array(list(range(10)))
#arrays for all possible game outcomes in range ten between team 1 and 2
scores=[[[x,y] for x in team1] for y in team2]
test_scores = scores
print(test_scores)
CodePudding user response:
So close! Just delete two characters:
scores=[[x,y] for x in team1 for y in team2]
CodePudding user response:
You may delete the 1 pair of the square brackets
import numpy as np
team1 = np.array(list(range(10)))
team2 = np.array(list(range(10)))
#arrays for all possible game outcomes in range ten between team 1 and 2
scores=[[x,y] for x in team1 for y in team2]
print(test_scores)
print(len(scores))
> [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [0, 9], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [4, 7], [4, 8], [4, 9], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5], [5, 6], [5, 7], [5, 8], [5, 9], [6, 0], [6, 1], [6, 2], [6, 3], [6, 4], [6, 5], [6, 6], [6, 7], [6, 8], [6, 9], [7, 0], [7, 1], [7, 2], [7, 3], [7, 4], [7, 5], [7, 6], [7, 7], [7, 8], [7, 9], [8, 0], [8, 1], [8, 2], [8, 3], [8, 4], [8, 5], [8, 6], [8, 7], [8, 8], [8, 9], [9, 0], [9, 1], [9, 2], [9, 3], [9, 4], [9, 5], [9, 6], [9, 7], [9, 8], [9, 9]]