0

I have a list of lists that I need to breakdown so that each list in the list is assigned to a separate variable. Further, the code should be able to take into account the addition of new lists to the list.

#Eg
list = [[1,3,5],[2,5,6], [3,5,7]]
# Code needs to make it so each element is assigned a variable. For example:
l0 = [1,3,5]
l1 = [2,5,6]
l2 = [3,5,7]

Here is dummy starter code:

import random

random_pop1 = [random.randint(1000,9000) for i in range(10)]
random_pop2 = [random.randint(1000,9000) for i in range(10)]
random_pop3 = [random.randint(1000,9000) for i in range(10)]
random_pop4 = [random.randint(1000,9000) for i in range(10)]
random_pop5 = [random.randint(1000,9000) for i in range(10)]
random_pop6 = [random.randint(1000,9000) for i in range(10)]
random_pop7 = [random.randint(1000,9000) for i in range(10)]
random_pop8 = [random.randint(1000,9000) for i in range(10)]

random_pop_list = [random_pop1,random_pop2,random_pop3,random_pop4, random_pop5, random_pop6, 
                   random_pop7, random_pop8]

#Each element of the list should be assigned to a variable (e.g.: r1 = random_pop1, r2 = random_pop2, r3= random_pop3 ... )
Ish
  • 95
  • 1
  • 7

1 Answers1

0

With this code, each list will contain 10 variables.
Each variable in random_pop1 will be named: a10, a11, a12, a13... a19.
Each variable in random_pop2 will be named: a20, a21, a22, a23... a29 and so on.

import random

for n in [1,2,3,4,5,6,7,8]:
    locals()[f'random_pop{n}'] = []
    for m in range(10):
        locals()[f'a{n}{m}'] = random.randint(1000,9000) # Defines variable a0,a1,a2...a9
        locals()[f'random_pop{n}'].append(locals()[f'a{n}{m}'])

random_pop_list = [random_pop1, random_pop2, random_pop3, random_pop4, random_pop5, random_pop6, random_pop7, random_pop8]
Red
  • 26,798
  • 7
  • 36
  • 58