我坚持使用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('')
谢谢。
你可以尝试这样的事情:
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)
在 i 设置为 0 后,您将附加一个空字符串作为文件名 [0]。在该行的第二个 for 循环中
filename[i].append('')
这意味着你实际上打电话
''.append('')
所以你的错误应该是:
AttributeError: 'str' object has no attribute 'append'
提示:提问时贴出错误文本,试着弄清楚错误文本对错误的描述。
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
矩阵中。
同类项目的多维列表有点没有意义。尝试简单的普通列表,它易于制作且易于使用:
>>> 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']