from pprint import pprint
import string
# Generates the ['abc', 'def', ..., ] list.
abc = string.ascii_lowercase
three = lambda l, i: f"{l[i-1]}{l[i]}{l[i+1]}"
lists = [three(abc, i+1) for i in range(len(abc)) if i % 3 == 0 and i < 24]
data = []
for i, o in enumerate(lists):
curr = [0]*len(lists)
for obj in list(o):
curr[i] = obj
data.append(curr.copy())
pprint(data)
Or, if you want to have some fun, here is a one-liner:
data = [(lambda l, ind, obj: l[:ind] + [obj] + l[ind+1:])([0]*len(lists), i, letter) for i,o in enumerate(lists) for letter in list(o)]
Here is a self-encapsulating code that does everything (including generating the string + printing) in one line (please don't use this -- it's just for fun):
print((lambda lists: [(lambda l, ind, obj: l[:ind] + [obj] + l[ind+1:])([0]*len(lists), i, letter) for i,o in enumerate(lists) for letter in list(o)])([(lambda l, i: f"{l[i-1]}{l[i]}{l[i+1]}")("abcdefghijklmnopqrstuvwxyz", i+1) for i in range(len("abcdefghijklmnopqrstuvwxyz")) if i % 3 == 0 and i < 24]))
Outputs
[['a', 0, 0, 0, 0, 0, 0, 0],
['b', 0, 0, 0, 0, 0, 0, 0],
['c', 0, 0, 0, 0, 0, 0, 0],
[0, 'd', 0, 0, 0, 0, 0, 0],
[0, 'e', 0, 0, 0, 0, 0, 0],
[0, 'f', 0, 0, 0, 0, 0, 0],
[0, 0, 'g', 0, 0, 0, 0, 0],
[0, 0, 'h', 0, 0, 0, 0, 0],
[0, 0, 'i', 0, 0, 0, 0, 0],
[0, 0, 0, 'j', 0, 0, 0, 0],
[0, 0, 0, 'k', 0, 0, 0, 0],
[0, 0, 0, 'l', 0, 0, 0, 0],
[0, 0, 0, 0, 'm', 0, 0, 0],
[0, 0, 0, 0, 'n', 0, 0, 0],
[0, 0, 0, 0, 'o', 0, 0, 0],
[0, 0, 0, 0, 0, 'p', 0, 0],
[0, 0, 0, 0, 0, 'q', 0, 0],
[0, 0, 0, 0, 0, 'r', 0, 0],
[0, 0, 0, 0, 0, 0, 's', 0],
[0, 0, 0, 0, 0, 0, 't', 0],
[0, 0, 0, 0, 0, 0, 'u', 0],
[0, 0, 0, 0, 0, 0, 0, 'v'],
[0, 0, 0, 0, 0, 0, 0, 'w'],
[0, 0, 0, 0, 0, 0, 0, 'x']]