4

我坚持使用python制作列表。

我想制作mxn文件,例如file00.txt、file01.txt、...和file99.txt,但是当我尝试制作时,它显示了一些错误。请让我帮忙。

filename = []

for i in range(0, sm):
    filename.append('') 
    for j in range(0, sn):
        filename[i].append('')

谢谢。

4

4 回答 4

5

你可以尝试这样的事情:

filenames = []

for i in range(0, sm):
    row = [] 
    for j in range(0, sn):
        row.append('') # I assume you want to do something more here
    filenames.append(row)
于 2012-05-17T22:15:56.450 回答
1

在 i 设置为 0 后,您将附加一个空字符串作为文件名 [0]。在该行的第二个 for 循环中

    filename[i].append('')

这意味着你实际上打电话

    ''.append('')

所以你的错误应该是:

    AttributeError: 'str' object has no attribute 'append'

提示:提问时贴出错误文本,试着弄清楚错误文本对错误的描述。

于 2012-05-17T22:23:43.413 回答
0
filenames = []
for i in range(100):
    filenames.append((str(i) if len(str(i)) > 1 else str(0) + str(i)) + ".txt")

最后,您的filenames列表中将包含 file00.txt、file01.txt、... 和 file99.txt。

filenames_mxn = []
for i in range(m):
    filenames_i = []
    for j in range(n):
        filenames_i.append(filenames[i*n + j])
    filenames_mxn.append(filenames_i)

现在您已将文件存储在m x n矩阵中。

于 2012-05-17T22:26:42.100 回答
0

同类项目的多维列表有点没有意义。尝试简单的普通列表,它易于制作且易于使用:

>>> filenames = ['file' + i + j + '.txt' for i in '0123456789' for j in '0123456789']
>>> filenames
['file00.txt', 'file01.txt', 'file02.txt', ..skipped.. 'file97.txt', 'file98.txt', 'file99.txt']
于 2012-05-17T23:09:01.723 回答