Помогите со списками, Python
list1 = []
a = "abcdefghijklmnopqrstuvwxyz"
for i in a:
for j in range(1,27):
list1.append(i * j)
print(list1)
Помогите, что делать?
Ответы (2 шт):
Автор решения: Danis
→ Ссылка
используйте enumerate
list1 = []
a = "abcdefghijklmnopqrstuvwxyz"
for i, char in enumerate(a, 1):
list1.append(char * i)
print(list1)
либо zip
list1 = []
a = "abcdefghijklmnopqrstuvwxyz"
for i, char in zip(range(1, 27), a):
list1.append(char * i)
print(list1)
Автор решения: Zhihar
→ Ссылка
способ 1:
arr = "abcdefghijklmnopqrstuvwxyz"
res = [arr[i] * (i + 1) for i in range(len(arr))]
print(res)
способ 2:
res = [i * (ord(i) - ord('a') + 1) for i in arr]
способ 3:
res = [chr(ord('a') + i) * (i + 1) for i in range(26)]
способ 4:
res = [i[0] * i[1] for i in zip(arr, range(1, 27))]
или
res = [i * j for i, j in zip(arr, range(1, 27))]
способ 5:
res = [(i[0] + 1) * i[1] for i in enumerate(arr)]
или
res = [(i + 1) * j for i, j in enumerate(arr)]
способ 6:
res = [i * (arr.find(i) + 1) for i in arr]
в некоторых способах где есть +1 можно сделать чуть более компактную запись, например так:
res = [i * arr.find(i) + i for i in arr]
