Verkürzung List Listcomprehension
Verfasst: Freitag 16. November 2018, 12:07
Wunsch folgende Code verbessern:
Mein Code:
##############################################
n=3 # bis 20
tt0 = range(n,2*n)+range(2*n-2,n-1,-1)
print tt0
tt01 = [range(i) for i in tt0]
print tt01
print
tt02 = [(i, j) for i, j in enumerate(tt01)]
print tt02
tt1 = []
for i,k in tt02:
for j in k:
tt1 += [[i,j]]
print tt1
##########################################
Ergebnis:
[3, 4, 5, 4, 3]
[[0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4], [0, 1, 2, 3], [0, 1, 2]]
[(0, [0, 1, 2]), (1, [0, 1, 2, 3]), (2, [0, 1, 2, 3, 4]), (3, [0, 1, 2, 3]), (4, [0, 1, 2])]
[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [3, 0], [3, 1], [3, 2], [3, 3], [4, 0], [4, 1], [4, 2]]
Wenn möglich ein 1 Comprehension.
Wenn ich im falschen Thema bin bitte Hinweis !
f.G.
ThorBenOdin
Mein Code:
##############################################
n=3 # bis 20
tt0 = range(n,2*n)+range(2*n-2,n-1,-1)
print tt0
tt01 = [range(i) for i in tt0]
print tt01
tt02 = [(i, j) for i, j in enumerate(tt01)]
print tt02
tt1 = []
for i,k in tt02:
for j in k:
tt1 += [[i,j]]
print tt1
##########################################
Ergebnis:
[3, 4, 5, 4, 3]
[[0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4], [0, 1, 2, 3], [0, 1, 2]]
[(0, [0, 1, 2]), (1, [0, 1, 2, 3]), (2, [0, 1, 2, 3, 4]), (3, [0, 1, 2, 3]), (4, [0, 1, 2])]
[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [3, 0], [3, 1], [3, 2], [3, 3], [4, 0], [4, 1], [4, 2]]
Wenn möglich ein 1 Comprehension.
Wenn ich im falschen Thema bin bitte Hinweis !
f.G.
ThorBenOdin