簡體   English   中英

如何將此python打印函數的每一行寫入字符串列表?

[英]How can I write each line of this python print function to a list of strings?

我有...

>>> 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)

...而我想要的是將這些行中的小字符串和整數連接成單個字符串,並將其附加到將包含大約1100個元素的列表中,每個元素都是文件名。 如何修改循環?

企業

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

或更短一點

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

或稍快(〜6%),但更加模糊

 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM