# [Tutor] problem solving with lists

marcus.luetolf at bluewin.ch marcus.luetolf at bluewin.ch
Sun Mar 6 02:15:31 EST 2022

```Hello Experts,

I'am still biting my teeth out trying to put in to code the following
pseudocode:

1.Set up a list of 16 letters and assign it to a variable : all_letters =
list(abcdefghijklmnop)

2.Find an code to insert all 16 letters in 5 Lists in 4 sublists of 4
letters in each list:

list1 = [['a', 'b', 'c', 'd'], ['e', 'f', 'g', 'k'].....['m', 'n', 'o',
'p']]

list2= [['a', 'e', 'f','g'] ...............,['d', 'i', 'l',' p']]

.

.

list5 =[[...],....................,[.........]]

with constraint that a pair of letters, p.e. ['a', 'b', ..] can occur
only once in all 20 sublists

or if  list1 contains sublist ['a', 'b',..],  such a sublist cannot appear
in list2 through list5.

To write this code,

as a first step I made a list (comb_list) containing all possible sublists
and reducing their number to 80

by sorting them : ['a', 'b'..] equals ['b', 'a', ..] :

with to code snippet below.

>comb_list = []

>for dummy_i in range(4):

>copy_all_letters = all_letters[:]

>lst = (16*16)*copy_all_letters

>f1 = []

>f2 = []

>f3 = []

>f4 = []

> f1.append(lst[0+n])

>f1.append(lst[2+n])

>f1.append(lst[4+n])

>f1.append(lst[6+n])

> f1.sort()

>comb_list.append(f1)

>f2.append(lst[8+n])

>f2.append(lst[10+n])

>f2.append(lst[12+n])

>f2.append(lst[14+n])

>f2.sort()

>comb_list.append(f2)

> f3.append(lst[1+n])

>f3.append(lst[3+n])

>f3.append(lst[5+n])

>f3.append(lst[7+n])

>f3.sort()

>comb_list.append(f3)

> f4.append(lst[9+n])

>f4.append(lst[11+n])

> f4.append(lst[13+n])

> f4.append(lst[15+n])

>f4.sort()

> comb_list.append(f4)

> print(f1, f2, f4, f4)

> print(comb_list)

> n += 3

The next step should be to extract out of the 80 sublists in comb_list 20
sublists fullfilling the above mentioned constraint.

a) I don't know how to do that, b) I am not shure wether this is a way do
it,  nor c) if my problem can by solved by python at all.

Marcus.

```