2

Pythonでforループを使用して一連の(空の)リストを生成しようとしていますが、リストの名前に変数を含める必要があります。例:y0、y1、y2など。理想的には次のようになります。

for a in range (0,16777216):
global y(a)=[]
4

4 に答える 4

9

なぜリストの辞書を作成しないのですか?

y = {}
for a in range (0,16777216):
    y[a] = []

簡潔にするためにも: https://stackoverflow.com/a/1747827/884453

y = {a : [] for a in range(0,16777216)}
于 2012-08-30T18:59:39.777 に答える
6

これがあなたの望むものかどうかはわかりませんが、リストのリストを作成するだけで同じ動作をエミュレートできませんか? に対応your_list[0]y0ます。

于 2012-08-30T18:59:30.323 に答える
1

たぶん、defaultdictをチェックする必要があります

form collection import defaultdict

# This will lazily create lists on demand
y = defaultdict(list)

また、キーに制約が必要な場合は__getitem__、次のようなデフォルト関数をオーバーライドします...

def __getitem__(self, item):
    if isintance(item, int) and 0 < item < 16777216:
         return defaultdict.__getitem__(self, item)
    else:
         raise KeyError
于 2012-08-30T19:14:20.710 に答える
1

答えは: しないでください。代わりにy[0]y[1]、 などで変数にアクセスできるようにリストを作成します。情報については、ここで受け入れられた回答を参照してください。

于 2012-08-30T19:00:11.437 に答える