4

私はPythonを使用してリストを作成することに固執しています。

file00.txt、file01.txt、...、file99.txtなどのmxnファイルを作成したいのですが、作成しようとするとエラーが発生します。手伝わせてください。

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] として追加します。行の2番目の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")

最後に、リストに file00.txt、file01.txt、...、および file99.txt が表示されますfilenames

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 に答える