# Untitled

unknown
plain_text
6 months ago
3.2 kB
5
Indexable
Never
```from pylab import *

# Przykład 1: Indeksowanie klasyczne z `range` (Python 2)
a = eye(10)
b = zeros(a.shape)
for w in range(a.shape[0]):
for k in range(a.shape[1]):
print(w, k)
b[w, k] = a[w, k]
imshow(b)

# Przykład 2: Odpowiednik funkcji `range()` z Python 2 w Python 3
a = eye(10)
b = zeros(a.shape)
for w in list(range(a.shape[0])):
for k in list(range(a.shape[1])):
print(w, k)
b[w, k] = a[w, k]
imshow(b)

# Przykład 3: Indeksowanie klasyczne z `xrange` (tylko Python 2)
a = zeros((10, 8))
a[:, (3, 5)] = 1
b = zeros(a.shape)
for w in xrange(a.shape[0]):
for k in xrange(a.shape[1]):
print(w, k)
b[w, k] = a[w, k]
imshow(b, interpolation='none', cmap='Blues')

# Przykład 4: Wykorzystanie comprehension list
a = zeros((10, 8))
a[::2, :] = 1
b = zeros(a.shape)
for (y, x) in [(y, x) for y in range(a.shape[0]) for x in range(a.shape[1]) if a[y, x] > 0.5]:
print(y, x)
b[y, x] = a[y, x]
imshow(b, interpolation='none', cmap=cm.gray)

# Przykład 5: Wykorzystanie iteratora `ndindex`
a = zeros((11, 9))
a[5::3, 0:8:3] = 1
b = zeros(a.shape)
for y, x in ndindex(a.shape):
print(y, x)
b[y, x] = a[y, x]
imshow(b, interpolation='bilinear', cmap=cm.hot)

# Przykład 6: Wykorzystanie iteratora `ndenumerate`
a = zeros((11, 9))
a[::2, ::2] = 1
b = zeros(a.shape)
for (y, x), i in ndenumerate(a):
print(y, x, i)
b[y, x] = a[y, x]
imshow(b, interpolation='none', cmap=cm.autumn)

# Przykład 7: Zwraca iterator z krotki i wypisuje każdą wartość
mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)
print(next(myit))
print(next(myit))
print(next(myit)

class MyNumbers:
def __iter__(self):
self.a = 1
return self

def __next__(self):
x = self.a
self.a += 2
return x

myclass = MyNumbers()
myiter = iter(myclass)
print(next(myiter)

# Przykład 9: Tworzenie iteratora z zakończeniem po 20 iteracjach
class MyNumbers:
def __iter__(self):
self.a = 1
return self

def __next__(self):
if self.a <= 20:
x = self.a
self.a += 2
return x
else:
raise StopIteration

myclass = MyNumbers()
myiter = iter(myclass)
for x in myiter:
print(x)

# Przykład 10: Obliczanie ciągu Fibonacciego
class Fib:
def __init__(self, max):
self.max = max

def __iter__(self):
self.a = 0
self.b = 1
return self

def __next__(self):
fib = self.a
if fib > self.max:
raise StopIteration
self.a, self.b = self.b, self.a + self.b
return fib

def reverse(data):
for index in range(len(data) - 1, -1, -1):
yield data[index]

for char in reverse('golf'):
print(char)