0

Pythonでメモリエラーが発生します。これは驚くべきことではありませんが、別の方法が必要です。だから私は、私の知る限り、値をメモリに保存する状態にいくつかを使用しています。forステートメントを何に切り替えれば、メモリに保存されないものに保存されます。それをテキストファイルに保存する方が良い方法でしょうか?以下のコードは、私が何をすべきかを答えるのに役立ちます。あなたのアイデアの例をお願いします。

def product(*args, **kwds):
    pools = map(tuple, args) * kwds.get('repeat', 1)
    result = [[]]
    for pool in pools:
        result = [x+[y] for x in result for y in pool]
    for prod in result:
        yield tuple(prod)

def start():
    for chars in product("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12234567890!@#$%^&*?,()-=+[]/;", repeat = 4):
        print chars
4

1 に答える 1

2

使用itertools.product

from itertools import product

def start():
    for chars in product("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12234567890!@#$%^&*?,()-=+[]/;", repeat = 4):
        print chars

ドキュメントから:

この関数は、実際の実装がメモリに中間結果を構築しないことを除いて、次のコードと同等です。

于 2012-04-19T20:51:11.197 に答える