Why doesn\'t following code print anything:
#!/usr/bin/python3
class test:
def do_someting(self,value):
print(value)
return value
de
map() returns an iterator, and will not process elements until you ask it to.
Turn it into a list to force all elements to be processed:
list(map(self.do_someting,range(10)))
or use collections.deque() with the length set to 0 to not produce a list if you don't need the map output:
from collections import deque
deque(map(self.do_someting, range(10)))
but note that simply using a for loop is far more readable for any future maintainers of your code:
for i in range(10):
self.do_someting(i)