创建并初始化python列表

时间:2012-05-17 22:13:08

标签: python list file-io

我被困在使用python制作列表。

我想创建m x n个文件,例如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 个答案:

答案 0 :(得分:4)

您可以尝试这样的事情:

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)

答案 1 :(得分:0)

将i设置为0后,将empyty字符串附加为filename [0]。在行中的第二个for循环

    filename[i].append('')

这意味着你实际上是打电话

    ''.append('')

所以你的错误应该是:

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

提示:在提问时发布错误文本,尝试找出错误文本中有关错误的内容。

答案 2 :(得分: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矩阵中。

答案 3 :(得分: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']