gibi bir şey üretmek için, orada her dördüncü noktası a[1]
başlar ve daha sonra örnek Bu numune istiyorum vardı temelde eğer
start:stop:step
.
>>> xs
array([1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4])
>>> xs[1::4]
array([2, 2, 2])
Bu görünümü orijinal verilerin yaratır, bu yüzden sabit zaman bu.
>>> a
array([1, 2, 3, 4, 5])
>>> b = a[::2].copy() # explicit copy, O(n)
>>> b[:] = 0 # modifying the copy
>>> a # original is intact
array([1, 2, 3, 4, 5])
: Yukarıdaki şeylerin ya bir sorun varsa
>>> a
array([1, 2, 3, 4, 5])
>>> b = a[::2] # O(1), constant time
>>> b[:] = 0 # modifying the view changes original array
>>> a # original array is modified
array([0, 2, 0, 4, 0])
böylece, açıkça bir kopyasını oluşturabilirsiniz: Aynı zamanda orijinal diziye değişiklikleri yansıtmak ve bellekte tüm orijinal diziyi devam edeceğiz
Bu sabit bir zaman değil, ancak sonuç orijinal diziye bağlı değil. Kopya ayrıca hafızada da çalışır, bu da bazı işlemleri daha hızlı yapabilir.
Referans/değer kopyasıyla ilgili uyarı için teşekkür ederiz. aksi halde kesinlikle tuzağa düşecektim – Chris