Найти - Пользователи
Полная версия: 2 цикла превратить в генератор генераторов
Начало » Python для новичков » 2 цикла превратить в генератор генераторов
1
WhiteTiger
Здравствуйте. Подскажите пожалуйста, как можно эти 2 цикла превратить в строку генераторов?
 result = []
for i in range(0, 10):
    for j in range(0, 10):
        result.append(str(i) + "somestr" + str(j))
FishHook
itertools chain
py.user.next
Думаю, WhiteTiger генераторами называет comprehensions
  
>>> result = [str(i) + "somestr" + str(j)
...           for i in range(10)
...           for j in range(10)]
>>> result
['0somestr0', '0somestr1', '0somestr2', '0somestr3' ...

Но и генератор можно сделать. А зачем тут генератор генераторов делать, смысла не вижу.
  
>>> result = (str(i) + "somestr" + str(j)
...           for i in range(10)
...           for j in range(10))
>>> result
<generator object <genexpr> at 0x7f3e65180150>
>>> for i in result:
...   print(i)
... 
0somestr0
0somestr1
0somestr2
0somestr3
0somestr4
0somestr5
0somestr6
0somestr7
0somestr8
0somestr9
1somestr0
1somestr1
1somestr2
1somestr3
1somestr4
1somestr5
1somestr6
1somestr7
1somestr8
1somestr9
2somestr0
2somestr1
2somestr2
2somestr3
2somestr4
2somestr5
2somestr6
2somestr7
2somestr8
2somestr9
3somestr0
3somestr1
3somestr2
3somestr3
3somestr4
3somestr5
3somestr6
3somestr7
3somestr8
3somestr9
4somestr0
4somestr1
4somestr2
4somestr3
4somestr4
4somestr5
4somestr6
4somestr7
4somestr8
4somestr9
5somestr0
5somestr1
5somestr2
5somestr3
5somestr4
5somestr5
5somestr6
5somestr7
5somestr8
5somestr9
6somestr0
6somestr1
6somestr2
6somestr3
6somestr4
6somestr5
6somestr6
6somestr7
6somestr8
6somestr9
7somestr0
7somestr1
7somestr2
7somestr3
7somestr4
7somestr5
7somestr6
7somestr7
7somestr8
7somestr9
8somestr0
8somestr1
8somestr2
8somestr3
8somestr4
8somestr5
8somestr6
8somestr7
8somestr8
8somestr9
9somestr0
9somestr1
9somestr2
9somestr3
9somestr4
9somestr5
9somestr6
9somestr7
9somestr8
9somestr9
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB