| 1 | initial version |
You didn't tell us about the line fn = [] before. That makes it a list of length 0, and fn[j] = ... tries to assign to other entries of that list. You could do any of these:
a = 100
b = 10
p = prime_range(a)
fn = []
for j in range(a/b):
fn.append([(i,val) for i,val in enumerate(p) if j * b < p[i] < (j+1) * b])
or
a = 100
b = 10
p = prime_range(a)
fn = [[(i,val) for i,val in enumerate(p) if j * b < p[i] < (j+1) * b] for j in range(a/b)]
or
a = 100
b = 10
p = prime_range(a)
fn = {}
for j in range(a/b):
fn[j] = [(i,val) for i,val in enumerate(p) if j * b < p[i] < (j+1) * b]
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.