Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I have...

>>> for i in range(11):
...     for j in range(103):
...             print "./", '%02d' % i, "/IMG", '%04d' % j, ".jpg"
...
>>> (prints a whole bunch of lines representing files in a group of directories)

...and what I want instead is to concatenate the little strings and ints in those lines into single strings, and append it to a list which will comprise approximately 1100 elements, each of which is the name of a file. How can I amend the loop?

share|improve this question

3 Answers 3

ITYM

l = []
for i in range(11):
    for j in range(103):
        l.append()

or, shorter,

l = ['./%02d/IMG%04d.jpg' % (i, j) for i in range(11) for j in range(103)]
share|improve this answer
['./%02d/IMG%04d.jpg' % (i, j) for i in range(11) for j in xrange(103)]
share|improve this answer
from itertools import product
['./%02d/IMG%04d.jpg'%item for item in product(range(11),range(103))]

or slightly(~6%) faster but more obfuscated

 map('./%02d/IMG%04d.jpg'.__mod__, product(range(11),range(103)))

$ python -m timeit -s"from itertools import product" "['./%02d/IMG%04d.jpg'%item for item in product(range(11),range(103))]"
1000 loops, best of 3: 1.56 msec per loop

$ python -m timeit -s"from itertools import product" "map('./%02d/IMG%04d.jpg'.__mod__, product(range(11),range(103)))"
1000 loops, best of 3: 1.46 msec per loop

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                  <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2015 stack exchange inc; user contributions licensed under <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a> \r\n                with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2015.7.3.2694\r\n            </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Stack Overflow works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\"></div>\r\n    </nosc"], "copyright__copyright__copyright": ["\" \"['./%02d/IMG%04d.jpg'%item for item in product(range(11),range(103))]\"\n1000 loops, best of 3: 1.56 msec per loop\n\n$ python -m timeit -s\"from itertools import product\" \"map('./%02d/IMG%04d.jpg'.__mod__, product(range(11),range(103)))\"\n1000 loops, best of 3: 1.46 msec per loop\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}