Skip to content

Commit 1306362

Browse files
authored
Simplify __getitem__ (#42)
1 parent 99f9b25 commit 1306362

File tree

1 file changed

+3
-9
lines changed

1 file changed

+3
-9
lines changed

primes.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,9 @@ def __getitem__(self, key: Any) -> Any:
3838
if key.start > key.stop and key.step > 0 or key.stop > key.start and key.step < 0:
3939
return []
4040

41-
if key.start is not None and len(self)-1 < key.start:
42-
self.primes += n_primes(key.start+1, self)[len(self):]
43-
if key.stop is not None and len(self) < key.stop:
44-
self.primes += n_primes(key.stop, self)[len(self):]
45-
elif isinstance(key, int):
46-
if len(self)-1 < key:
47-
self.primes += n_primes(key+1, self)[len(self):]
48-
else:
49-
raise TypeError()
41+
num_required = max((key.start or -1)+1, key.stop or 0) if isinstance(key, slice) else key+1
42+
if len(self) < num_required:
43+
self.primes += n_primes(num_required, self)[len(self):]
5044

5145
return self.primes[key]
5246

0 commit comments

Comments
 (0)