@juliantaylor рдиреЗ рдПрдХ рдкрд╛рдВрдбрд╛ рдореБрджреНрджреЗ рдореЗрдВ
рдЯрд┐рдХрдЯ рд╕реЗ рдЙрджрд╛рд╣рд░рдг:
import numpy as np
import random
random.sample(np.array([1,2,3]),1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/user1/py33/lib/python3.3/random.py", line 298, in sample
raise TypeError("Population must be a sequence or set. For dicts, use list(d).")
TypeError: Population must be a sequence or set. For dicts, use list(d).
рдпрд╣ 3.3 рдкрд░ 1.7.0rc1.dev-3a52aa0 рдХреЗ рд╕рд╛рде, рдФрд░ 3.2 рдкрд░ 1.6.2 рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред
2.7 рдмреЗрд╢рдХ рдЕрдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИред
Cpython / Lib / random.py рд╕реЗ relavent рдХреЛрдб: 297
from collections.abc import Set as _Set, Sequence as _Sequence
def sample(self, population, k):
# ...
if not isinstance(population, _Sequence):
raise TypeError("Population must be a sequence or set. For dicts, use list(d).")
рдореИрдВ stdlib рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╕реНрдерд╛рди рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди lib2to3
рдПрдХ рд╕рдорддреБрд▓реНрдп рд╕рдорд╛рдирддрд╛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ:
lib2to3/fixes/fix_operator.py
5:operator.isSequenceType(obj) -> isinstance(obj, collections.Sequence)
2.7 рдореЗрдВ рд╣реИ
In [6]: operator.isSequenceType(np.array([1]))
Out[6]: True
рд▓реЗрдХрд┐рди 3.3 / 3.2 рдореЗрдВ
>>> isinstance(np.array([1]), collections.Sequence)
False
рдЕрдЬрдЧрд░ 3.x рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 2.x рдХреА рддреБрд▓рдирд╛ рдореЗрдВ random.sample
рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдЦреНрдд рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред 2.x рдкрд░ рд╕реБрдиреНрди рднреА рдПрдХ рдЕрдиреБрдХреНрд░рдо рдЙрдкрд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИ (ndarray рдХреЗ рдкрд╛рд╕ index
, count
рдпрд╛ __reversed__
рд╡рд┐рдзрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВ)ред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ random.sample
3.
рдХрд╛рдлреА рдЙрдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╣рд╛ рдХрд┐, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ _make_ ndarray рдПрдХ рдЕрдиреБрдХреНрд░рдо,
рдХреНрдпреЛрдВрдХрд┐ рдЙрди рд╕рднреА рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рд╕реАрдзрд╛ рд╣реЛрдЧрд╛
рд▓рд╛рдЧреВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдлрд╝ рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреЗ рдмрд╛рдж рд╕реЗ рд╣реА рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛
рдорд┐рдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рд▓рд╛рдкрддрд╛ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
2 рджрд┐рд╕рдВрдмрд░ 2012 13:30 рдХреЛ, "рд░рд╛рд▓реНрдл рдЧреЛрдорд░реНрд╕" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:
Python 3.x рдмрд╕ random.sample рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдЦреНрдд рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ
рдЕрдЬрдЧрд░ 2.x. 2.x рдкрд░ рд╕реБрдиреНрди рднреА рдПрдХ рдЕрдиреБрдХреНрд░рдо рдЙрдкрд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИ (ndarray рдХреЛрдИ рдирд╣реАрдВ рд╣реИ
рд╕реВрдЪрдХрд╛рдВрдХ, рдЧрд┐рдирддреА рдпрд╛ рдЙрд▓рдЯ рддрд░реАрдХреЛрдВ)ред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╛ рддреЛ random.sample рдХрд╛ рдЧрд▓рдд рдЙрдкрдпреЛрдЧ рдпрд╛ рдкреАрдЫреЗ рдХреА рдУрд░ рд╕реЗ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рдЯреВрдЯрдирд╛
рдЕрдЬрдЧрд░ 3.x.-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ Gi tHubhttps: //github.com/numpy/numpy/issues/2776#issuecomment -10929601 рдкрд░ рджреЗрдЦреЗрдВред
рдореИрдВрдиреЗ рдПрдХ рд╣реА рдмрд╛рдд рдХрд╣реА рд╣реЛрдЧреА, рдЕрдЧрд░ рдпрд╣ 2to3 рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдерд╛ рдЬреЛ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реВрдХреНрд╖реНрдо рдмрдирд╛рддрд╛ рд╣реИред
рд╕реВрдЪрдХрд╛рдВрдХ рдФрд░ рдЧрд┐рдирддреА рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ: рд▓рд┐рдВрдХ ,
Sequence
рд▓рд┐рдП рд╕рднреА рдЕрдореВрд░реНрдд рд╡рд┐рдзрд┐рдпрд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЧреВ рд╣реИрдВ, рдЕрдиреНрдп рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ MutableSequence
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИ, рдФрд░ insert
рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐ 0-d рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдордд рднреВрд▓рдирд╛, рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рдЕрднреА рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдиреБрдХреНрд░рдо рдирд╣реАрдВ рд╣реИрдВ?
рд╣рдореНрдо, Sequence
рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, MutableSequence
(рд╡рд┐рд╕реНрддрд╛рд░, рдкреЙрдк) рдХреЗ рдХреБрдЫ рддрд░реАрдХреЛрдВ рд╕реЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рддреЛ рд╣рд╛рдБ, рд╣рдо рдЙрди 3 рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред
рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ random.sample
рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ Sequence
рдЙрджрд╛рд╣рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
__setitem__
рд▓рд╛рдЧреВ рд╣реИ, рд▓реЗрдХрд┐рди __delitem__
, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж SomewhatMutableSequence
?
рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ "рдПрдХ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдпреЗ рд╕рдм рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рднрдпрд╛рдирдХ рдУ () "рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡реЗ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХреЗ рдЕрдиреБрднрд╡рд╣реАрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ insert
, pop
рдХрд╛ рд╢рдмреНрджрд╛рд░реНрде рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ ndarray рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИрдВред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ 0-d рд╕рд░рдгреА рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╣реА рдЪреАрдЬ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ред
рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдкреЗрд╢рдХрд╢ рдПрдХ рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ __iter__
рд╡рд┐рдзрд┐ рд╣реИ рдХрд┐ рд╕рд┐рд░реНрдл рдПрдХ рдХреЛ рдЬрдиреНрдо рджреЗрддреА рд╣реИ TypeError
рддреЛ рдмрдЬрд╛рдп
StopIteration
рд╡реИрд╕реЗ рднреА рдмрддрдЦ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реИред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд▓рд╛рдкрд░рд╡рд╛рд╣ рдирд┐рд░реНрдгрдп
ndarray рд╕рд┐рд░реНрдл рдПрдХ рдЕрдиреБрдХреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
Btwред CPython рд╕реВрдЪреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреБрд╢рд▓ рдЖрд╡реЗрд╖рдг, рдкреЙрдк рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рдПрдХ MutableSequence рд╣реИ
ndarray рдЗрди-рдкреНрд▓реЗрд╕ рдбрд╛рд▓рдиреЗ / рдкреЙрдк / рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ (ndarray рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдЬрдм рдпрд╣ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдЕрдиреБрдХреНрд░рдо рд╣реИ, рддреЛ рдпрд╣ рдмрд╕ Python MutableSequence
(рдФрд░ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛) рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ Sequence
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдФрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ random.sample
рдиреЗ рдпрд╣ рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА, рд▓реЗрдХрд┐рди рдирд┐рдХрдЯ рджреГрд╖реНрдЯрд┐ рд╕реЗ, рдЗрд╕рдХрд╛ рдПрдХ рдкреНрд░рд╢рдВрд╕рдиреАрдп рдХрд╛рд░рдг рд╣реИ - рдЗрд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдирдкреБрдЯ рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрдирдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛ред рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдиреБрдХреНрд░рдордг рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдХреЗ рд▓рд┐рдП рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рд╣рдо рдмрдЧ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреНрд░рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдЬреЛ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ 3.4 рд╣реИ ...
0-рдбреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдПрдХ рдЕрдЪреНрдЫреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐; 0-d рд╕рд░рдгрд┐рдпрд╛рдБ Sequence
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ (рд╡реЗ Iterable
рднреА рдирд╣реАрдВ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рдкрд╛рдпрдерди рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд╣реБрдд рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рд╡реЗ Sequence
s рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд╣реБрдВрдЪ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ - рдмрддрдЦ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ рдЕрд╕рдлрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ :-)ред рдмрд╣реБ-рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП isinstance(a, Sequence)
рд╕рдлрд▓ рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ 0-рдбреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╕рдлрд▓ рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ; рдЕрдЧрд░ рд╣рдо рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рднрд▓реЗ рд╣реА рд╣рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдлрд┐рд░ рднреА ndarray рдореЗрдВ Sequence
s рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ MaskedArray рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА count
рдкрджреНрдзрддрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП ndarray рдореЗрдВ рдПрдХ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЬреЛ рдХреБрдЫ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ рд╡рд╣ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред
0-рдбреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдХреБрдЫ рдЖрд╕рд╛рди рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рд╕реЛрдЪрддрд╛ рд╣реВрдВ); рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдРрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рдЗрд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рднреА рдЕрдиреБрдХреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдФрд░ рднреА рдЕрдЬреАрдм рд╣реИред рдЗрд╕рд▓рд┐рдП 0-рдбреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдЕрд╕рдВрдЧрдд рдмрдирд╛рдирд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИред
@njsmith рдЖрдк рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╣рд╛рдВ рджреЗрдЦрддреЗ рд╣реИрдВ? рдЖрдЗрдВрд╕реНрдЯреАрди (рдЕрдиреБрдХреНрд░рдо) рдЬрд╛рдВрдЪ рдХреЗ рдмрд╛рдж рдореИрдВ рдХреЗрд╡рд▓ len(population)
рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рд╕реВрдЪреА рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рд╣реЛрддрд╛ рд╣реИред http://hg.python.org/cpython/file/22d891a2d533/Lib/random.py
рдкрдВрдбреЛрдВ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдФрд░ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдЕрд╕рдВрдЧрдд рдЧрдгрдирд╛ рд╡рд┐рдзрд┐рдпрд╛рдБ рдФрд░ рдПрдХ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рднреА рд╣реЛрддреА рд╣реИред
@rgommers : рд╣рдореНрдо, рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╕реЗ рдЧреБрдорд░рд╛рд╣ рд╣реЛ рдЧрдпрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рд╕реЛрдЪрдХрд░ рдХрд┐ рдпрд╣ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ range()
рд▓рд┐рдП рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рд╡реЗ рд╕реЗрдЯреНрд╕, рд╕реАрдХреНрд╡реЗрдВрд╕ рдФрд░ рдореИрдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕рдордЭрд╛ рд╕рдХреЗрдВ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдмрджрд▓ рджреЗрдВ
if isinstance(population, _Set):
population = tuple(population)
if isinstance(population, _Mapping):
raise Blarrrgh()
# Otherwise assume that we have a sequence and hope
рдореМрдЬреВрджрд╛ ndarray рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдХрд╣рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ ndarray рдПрдХ Sequence
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЙрдкрд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИрдВ :-(! рдЗрд╕рд▓рд┐рдП рдЬреЛ рд╡рд┐рдХрд▓реНрдк рдХрдо рд╕реЗ рдХрдо рдмреБрд░рд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЙрдкрд╡рд░реНрдЧ Sequence
рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛
Sequence
-рдЕрд╕рдВрдЧрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред рдпрд╣ count
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Series.index
рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдкрдВрдбреЛрдВ рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рд╣реЛрдЧрд╛ред (DataFrame ndarray рдХрд╛ рдЙрдкрд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдФрд░ DataFrame рдХреЛ рд╕рд┐рдВрдХ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред) рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо @wesm рд╕реЗ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рд╕реЛрдЪрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди ...Sequence
рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ndarray рдФрд░ рдЙрд╕рдХреЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВ, рдФрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдХреБрдЫ ndarray рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЭреВрда рд╣реЛрдЧрд╛ред рдХреЗрд╡рд▓ Sequence
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рднрд╛рдЧреЛрдВ рдкрд░, рдФрд░ рдкрд╛рдпрдерди рдкреНрд░рдХрд╛рд░ рдЖрдорддреМрд░ рдкрд░ рд╡реИрд╕реЗ рднреА рд╣реЛрддреЗ рд╣реИрдВ ...class multidim_ndarray(ndarray, Sequence):
pass
рдФрд░ рдЗрд╕ рд╢реНрд░реЗрдгреА рдХреЗ рдмрдЬрд╛рдп рдмрд╣реБ-рдордВрдж рд╕рд░рдгрд┐рдпрд╛рдБ рдмрдирд╛рддреЗ рд╣реИрдВред рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ ndarray
рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, multidim_ndarray
ред рдмреЗрд╢рдХ, рдПрдХ рдПрдХрд▓ ndarray рд╡рд╕реНрддреБ .resize()
рдорд╛рдзреНрдпрдо рд╕реЗ 0-d рдФрд░ рдмрд╣реБрдЖрдпрд╛рдореА рдХреЗ рдмреАрдЪ рд╕рдВрдХреНрд░рдордг рдХрд░ рд╕рдХрддреА рд╣реИ ...
ndarray
рдХрднреА рднреА Sequence
ред[ isSequenceType
рдЪреАрдЬрд╝ рдереЛрдбрд╝реА рдмрд╣реБрдд рд╡реНрдпрд╛рдХреБрд▓рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдкреБрд░рд╛рдирд╛ рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рдЕрдореВрд░реНрдд рдЖрдзрд╛рд░ рд╡рд░реНрдЧреЛрдВ (рдЬреЛ 2.6 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛) рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╕реНрддреГрдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдиреАрдЪреЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рд╕рд┐рд░реНрдл рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░рдХрд╛рд░ (1) __getitem__
рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ dict
ред рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдпрд╣ рдХрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЧрд▓рдд рдЙрддреНрддрд░ рджреЗрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдЬреЛ рдПрдХ рддрд╛рдирд╛рд╢рд╛рд╣ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ!)ред рддреЛ рдЕрдЧрд░ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдиреБрдХреНрд░рдо рдкреНрд░рдХрд╛рд░ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ isinstance(obj, Sequence)
рдПрдХ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ 2to3 рд╕рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдиреНрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ ...]
рд╢рд╛рдпрдж рдпрд╣ рдЕрдЬрдЧрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП SequenceBase
рддрд░рд╣ рдПрдХ рдирдпрд╛ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдЬреЛ рдЕрдиреБрдХреНрд░рдо рд╕реЗ рднреА рдиреАрдЪреЗ рд╣реИ рдФрд░ .index
рдпрд╛ .count
рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ .__len__
рдФрд░ __getitem__
рдпрд╛ рдРрд╕реЗ? рдпрд╣ рд╕рдм рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╕реАрдХреНрд╡реЗрдВрд╕ рдореЗрдВ index
рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ numpy
рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдкрд░ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЕрдиреБрдХреНрд░рдо рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдЕрдЬрдЧрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ?
рдореБрдЭреЗ @seberg рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд╕рдВрдж рд╣реИ; рдЕрдЧрд░ рдкрд╛рдпрдерди рджреЗрд╡ рдЕрд╕рд╣рдордд рд╣реИ рддреЛ рдореИрдВ @njsmith рдХреА рджреВрд╕рд░реА рдЧреЛрд▓реА рдХреЗ рд▓рд┐рдП рдЬрд╛рдКрдВрдЧрд╛ред рдорд┐рд╕рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ ndarrays рдЕрдиреБрдХреНрд░рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЧреЛрд▓рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ 1 рдФрд░ 3 рдЗрдореНрд╣реЛред
[рд╡реВрдкреНрд╕, "рд▓рд╛рдкрддрд╛ рд╡рд┐рдХрд▓реНрдк" рд╡рд┐рдХрд▓реНрдк 4 рдХреЗ рд░реВрдк рдореЗрдВ рдерд╛, рдмрд╕ рдХрд┐рд╕реА рддрд░рд╣ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдкрд╛рд░реНрд╕рд░ рдиреЗ рдЗрд╕реЗ рдкрд┐рдЫрд▓реА рдмреБрд▓реЗрдЯ рдореЗрдВ рднреНрд░рдорд┐рдд рдФрд░ рдЕрдкрдардиреАрдп рддрд░реАрдХреЗ рд╕реЗ рдореЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдкреНрд░рд╛рд░реВрдкрдг рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгреА рд╕рдВрдкрд╛рджрд┐рдд рдХреА рд╣реИред]
Sequence
, рдЕрд░реНрдерд╛рдд buffer
рдФрд░ xrange
рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЖрдзреЗ рдкреНрд░рдХрд╛рд░, рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ, рдЬреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИрдВ, рдЬреЛ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ / рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд░реВрдк рдореЗрдВ collections.Sequence
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
@ рд░реЗрдВрдХ : рдЕрдЪреНрдЫреА рдкрдХрдбрд╝ред рддреЛ рд╢рд╛рдпрдж рд╕рдорд╛рдзрд╛рди рдХрд╣реАрдВ Sequence.register(np.ndarray)
рдХрд╣реАрдВ рдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред (рдпрд╣ рдореВрд▓ рд░рд┐рдкреЛрд░реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рднреА рд╣реЛрдЧрд╛ред)
рд╣рдореЗрдВ рд╢рд╛рдпрдж рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ __reversed__
рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ...
@ рдЧрд▓рдд рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдпрд╣ рдкреАрдИрдкреА рдореЗрдВ рдПрдХ рдЦреБрд▓реЗ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реИ: http://www.python.org/dev/peps/pep-3119/###### рдЕрдЬреАрдм рдмрд╛рдд рд╣реИ рдХрд┐ рд╕реНрдЯреЗрдЯрд╕ рдлрд╛рдЗрдирд▓ рдХреЗ рд╕рд╛рде рдкреАрдИрдкреА рдореЗрдВ рднреА рдЦреБрд▓реЗ рдореБрджреНрджреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрдЧ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдереЛрдбрд╝рд╛ рднреНрд░рд╛рдордХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмрдЧ рдХреЗрд╡рд▓ python3 рдХреЗ рддрд╣рдд рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, random.sample(numpy_array)
python2 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди isinstance(np.array([1]), collections.Sequence)
рдХреЛ рдХрд┐рд╕реА рднреА рдЕрдЬрдЧрд░> = 2.6 рдореЗрдВ True
рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдкрд╛рдпрдерди 2.7 рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдпрдерди 2.7 рдореЗрдВ рдЗрд╕ рдмрдЧ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕рдиреЗ рдХреБрдЫ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджрд┐рдпрд╛ редisequenceType () рдХреЙрд▓ рдХреЛ рдЖрдЗрдВрд╕реНрдЯреАрди (x, рд╕рдВрдЧреНрд░рд╣ред рдЕрд╕рдорд╛рдирддрд╛) рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред рдЬрдм рдореИрдВ рдПрдХ numpy.ndarray рдореЗрдВ рдЧреБрдЬрд░рддрд╛ рд╣реВрдВ рддреЛ рдкрд░реАрдХреНрд╖рд╛ рдЭреВрдареА рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрд╣ рдмрд╣реБрдд рдбрд░рдкреЛрдХ рдмрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдкрд╛рдпрдерди-рддрдХрд┐рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмрд╕ рдЗрд╕реЗ рдкрд╛рдпрдерди 2.7 рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред Image.point (lut, рдореЛрдб) рдХреЙрд▓ рдЖрдЗрдВрд╕реНрдЯреАрди (lut, рд╕рдВрдЧреНрд░рд╣ред рдЕрд╕рдорд╛рдирддрд╛), рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдкрд░реЗрдЯрд░ редisSequenceType ()
рдЕрдм рдпрд╣ рдлрд┐рд░ рд╕реЗ рдЖрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░ рдкрдВрдЬреАрдХреГрдд рдереЗ (# 4547),
рддреЛ рд╢рд╛рдпрдж рд╕рдорд╛рдзрд╛рди рдХрд╣реАрдВ Sequence.register (np.ndarray) рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рд╣рд╛рдВ, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордЭреМрддрд╛ рд╣реИред
рд╣рд╛рдВ, рдХреГрдкрдпрд╛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ Sequence.register(np.ndarray)
рдЬреЛрдбрд╝реЗрдВред
@ рдкреАрдЖрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ?
рдЬрд╝рд░реВрд░ред рдпрд╣ рдХрд╣рд╛рдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬрд╣рд╛рдБ np.ndarray
рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ: рд╣рдо рдЕрднреА рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рдореВрд▓реНрдпрди рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ False
(# 9718), рдпрд╛рдиреА, рд╣рдо рдЙрди рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рдХрд╛рд▓ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ) ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ рдХрд┐ рд╕рд░рдгреА рд╕реНрдХреЗрд▓рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЦрд╛рд▓реА рд╕рд░рдгреА рдЙрд╕ рдЯреВрдЯреЗ рд╣реБрдП рд╡рд╛рджреЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ ...
рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдЙрдЪрд┐рдд рд╕реНрдерд╛рди рд╢рд╛рдпрдж numpy.core.multiarray
:
https://github.com/numpy/numpy/blob/4f1541e1cb68beb3049a21cbdec6e3d30c2afbbb/numpy/core/multiarray.py
рдареАрдХ рд╣реИ рдореБрдЭреЗ рдпрд╣ рдЪрд╛рд╣рд┐рдПред рдХреИрд╕реЗ? рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реВрдВрдЧрд╛:
def __reversed__(self):
return iter(self[::-1])
def index(self, value) -> int:
return np.in1d(self, value).nonzero()[0]
def count(self, value) -> int:
return (self == value).sum()
# Necessary due to lack of __subclasshook__
collections.abc.register(np.ndarray)
рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ Tensorflow (2.0) рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде, Sequence.register(np.ndarray)
рд╕реЗ Tensorflow рдЧрд▓рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣реАрдВ рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрджрд┐ рдореВрд▓реНрдп рдПрдХ рдЕрдиреБрдХреНрд░рдо рд╣реИ рдФрд░ рддрдм рдЙрдкрдпреЛрдЧ рдПрдХ ndarray рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрд▓рдЧ рд╣реИред
рджреЗрдЦреЗрдВ: https://gitlab.com/datadrivendiscovery/d3m/issues/426
рдкреНрд░рдлреБрд▓реНрд▓рд┐рддред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рд╕рд░рдгреА рдмреЗрд╣рддрд░ рд╣реИ рддреЛ рдкрд░реАрдХреНрд╖рдг рдмреЗрд╣рддрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдорд╛рдорд▓рд╛ рд╣реИред
рд╕рдВрднрд╡рддрдГ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд╛ рдХреНрд░рдо рдЧрд▓рдд рд╣реИ, рдЗрд╕реЗ рдкрд╣рд▓реЗ ndarray рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП, рдлрд┐рд░ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдкрд╣рд▓реЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдм рд╡рд╣ рдХреЛрдб рдмреНрд▓реЙрдХ рдЪрд▓рддрд╛ рд╣реИред
@ рд╣рдорд╛рд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ __contains__
/ operator.in
рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдкреАрдЖрдИ рдЕрдиреБрдмрдВрдз рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд╣реИ?
рдХреНрдпрд╛ рдЖрдк рдпрд╣рд╛рдВ рдорди рдореЗрдВ рдореМрдЬреВрдж рдПрдкреАрдЖрдИ рдЕрдиреБрдмрдВрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдмрд┐рд▓рдХреБрд▓ рдирд╣реАрдВ рдЖрддрд╛ред
рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдЬреЗрдиреЗрд░рд┐рдХ рдХреЛрдб рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЪреАрдЬреЛрдВ рдХреЗ рдмреАрдЪ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬреИрд╕реЗ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдЕрдиреБрдХреНрд░рдо рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддрдирд╛рд╡ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдЖрдпрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдореИрдВ рдПрдХ 2d ndarray рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдИ рдЖрдпрд╛рдореЛрдВ рдФрд░ рдЗрддрдиреЗ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдиреБрдХреНрд░рдо рд╣реИред
рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдиреЗрд╕реНрдЯреЗрдб рдЕрдЬрдЧрд░ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд╕рд╛рде рдореБрджреНрджреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╣реИрдВред __contains__
рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдПрдХ рд╣реИ, рджреВрд╕рд░рд╛ рдпрд╣ рд╣реИ рдХрд┐ 0-D рд╕рд░рдгрд┐рдпреЛрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдиреЗрд╕реНрдЯреЗрдб рдЕрдиреБрдХреНрд░рдо рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕реВрдХреНрд╖реНрдорддрд╛рдПрдВ, рдЬреИрд╕реЗ рдХрд┐ рд▓рдВрдмрд╛рдИ 0 рдЖрдпрд╛рдо рдореМрдЬреВрдж рд╣реИрдВ, рдФрд░ рдЖрдо рддреМрд░ рдкрд░ arr[0] = 0
рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ arr[0] == 0
, рдХреНрдпреЛрдВрдХрд┐ arr[0]
рдПрдХ рдордирдорд╛рдирд╛ рд╕рд░рдгреА рд╣реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ рдмреЗрд╣рддрд░ рд╡рд░реНрддрдиреА рд╣реЛрдЧреА arr[0, ...]
ред рдирд┐рдЬреА рддреМрд░ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдиреЗрд╕реНрдЯреЗрдб рд╕реАрдХреНрд╡реЗрдВрд╕" рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЕрдЪреНрдЫреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬреЛ рд╕реЛрдЪрдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рд░рдЦрддреЗ рд╣реИрдВред (рдпрд╛рдиреА рдореИрдВ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЛ for col in array
рд░реВрдк рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░реВрдВ рдФрд░ рднрд▓реЗ рд╣реА рдореИрдВ рдХрд░реВрдВред for col in array.iter(axis=0)
рд▓рд┐рдЦрдиреЗ рдХрд╛ рдорди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛
рдЗрд╕рд▓рд┐рдП рдореИрдВ "рд╕рд░рдгреА рдПрдХ рдЕрдиреБрдХреНрд░рдо рд╣реИ" рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╕рд╛рджреГрд╢реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ (рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ uesful рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ)ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреЛ рднреА рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд╣реИ, рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдирдпрд╛ рдПрдмреАрд╕реА, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдирдпрд╛ "рдПрд▓реАрдореЗрдВрдЯрд╡рд╛рдЗрдиреНрдХреЙрдирдЯреЗрдирд░" рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдПрдХ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рднреА рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ +
рдФрд░ ==
, рдЖрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдпрд╣ рдХрд┐, рдкрд╛рдпрдерди рдХреНрд░рдореЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрдиреНрд╣реЗрдВ +
рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд╣рд╛рдБ +
рдЕрдиреБрдХреНрд░рдо рдПрдмреАрд╕реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд▓рдЧрддрд╛ рд╣реИ)ред
рдмрд╕ рдкрд╛рд╕ рд╕реЗ рдЬрд╛ рд░рд╣рд╛ -
рдореИрдВрдиреЗ рдкрд╛рдпрдерди-рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рд▓рд┐рдЦрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдкрд╛рдпрдерди рдХреЗ collections.abc.Sequence
__eq__
рдФрд░ рдЕрдиреНрдп рддреБрд▓рдирд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рднрд▓реЗ рд╣реА рдЗрд╕рдХреЗ рдкрд╛рд╕ рдЕрдиреНрдп рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВ рдФрд░ tuplesред (рд╡рд╣ рдореЗрд▓ рдереНрд░реЗрдб рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ)ред
рдореИрдВ рд╡рд╣рд╛рдБ __eq__
рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрди рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рджреЗрдЧрд╛ рдЬреЛ Numpy.array рдХреЗ рдкрд╛рд╕ рд╣реИрдВред
рдкрд╛рдпрдерди рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдФрдкрдЪрд╛рд░рд┐рдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛, "рдЕрдиреБрдХреНрд░рдо" рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рд╕реМрдВрдкрдирд╛ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд▓рди рдХрд░реЗрдВрдЧреЗ - collections.abc.ComparableSequence
рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдВрджреБ рдкрд░? (рдФрд░ рдЬрдм рд╕реЗ +
рдХреИрдВрд╕рд┐рдиреЗрд╢рди рдХреЗ рд▓рд┐рдП +
рдФрд░ *
рд╕реВрдЪреА рдФрд░ рдЯреБрдкрд▓реНрд╕ рдореЗрдВ)ред рдЗрд╕рд▓рд┐рдП, рдЕрдиреБрдХреНрд░рдо рдкрд░ рдЪрд╢реНрдорд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо 1 рдбреА рдЦрд╕реНрддрд╛ рд╕рд░рдгрд┐рдпрд╛рдВ рдЗрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдореЗрд▓ рдЦрд╛рдПрдЧреАред
рдкрд╛рдЗрдерди рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдФрдкрдЪрд╛рд░рд┐рдХрддрд╛ рдЕрдиреНрдп рдЕрдкрднреНрд░рдВрд╢реЛрдВ рдХреЗ рд╕рд╛рде рднреА рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП https://github.com/numpy/numpy/issues/2776#issuecomment -33086546 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдореИрдВ рдЙрд╕ рд╕рдбрд╝рдХ рдкрд░ рдЕрдХреЗрд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░реЗрд░рд┐рдд рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ - рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЦреБрд╢реА рд╕реЗ рдкреАрдИрдкреА рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реВрдВрдЧрд╛ред (рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЕрдиреБрдХреНрд░рдо рдиреЗ __eq__
рдирд┐рд░реНрдорд╛рдг рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рд╕рдВрднрд╡рддрдГ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рд╣реИ рдЬрдм рдореИрдВ рдЗрд╕реЗ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ)
@jsbueno рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрдпрд╛ рдирд╣реАрдВ рджреЗрдЦрддрд╛, рдпрд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдмреАрдЪ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ndarray
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред рдореИрдВ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ Collection
рдЬрд┐рд╕рдореЗрдВ count()
рдФрд░ index()
, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ? рдФрд░ рдХреБрдЫ рднреА рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдмреАрд╕реА рд╣реЛрдЧрд╛ рдЬреЛ рдкрд╛рдпрдерди рдХреЗ рдкрд╛рд╕ рдЦреБрдж рдХреА рдмрд╣реБрдд рдХрдо рдпрд╛ рдХреЛрдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рдореНрдкреА рдХреЛ рдпрд╣ рдЕрдзрд┐рдХ рд╕рд╣реА рд▓рдЧрд╛ред рдпрд╣ рдЕрдкрдиреЗ рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдЗрд╕реЗ Collection
рдмрдирд╛рддрд╛ рд╣реИред
рдЕрдм, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдпрд╣ рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рд╕рд┐рдореНрдкреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реБрдкрд░ рдЙрдкрдпреЛрдЧреА (рдФрд░ рд╕рд╣рдЬ) рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдХрдо рд╕реЗ рдХрдо рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ __contains__
рдЕрдиреБрд░реВрдк рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рднреА рд╣реИ рдХрд┐ len(Matrix)
рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ _not_ Matrix.shape[0]
!
1-рдбреА рд╕рд░рдгрд┐рдпреЛрдВ рд╕реЗ рдЕрд▓рдЧ, рдКрдкрд░ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЗ рд╕рд╛рде, рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рд░рдгрд┐рдпрд╛рдВ рдХреНрдпрд╛ рд╣реИрдВ ?:
Container
: рддрддреНрд╡реЛрдВ рдХрд╛: рднрд╛рд░реА_рдЪреЗрдХ_рдорд╛рд░реНрдХ:Sized
+ Iterable
рд╕рд╡рд╛рд▓: subarrays (рдпрджрд┐ рдирд╣реАрдВ 1-рдбреА) рдХреЗ:Reversible
: рд╣рдо рдмрд╕ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИред :рд╕рд╡рд╛рд▓:count()
рдФрд░ index()
: рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: (Heavy_check_mark :)Sequence
: рд╕рдмрд░реНрд░реЗ iterable рдФрд░ рддрддреНрд╡ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмреАрдЪ рдмреЗрдореЗрд▓: x:рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рдореМрд▓рд┐рдХ рдЧреБрдгреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рднреА рдЯрдХрд░рд╛рддреЗ рд╣реИрдВред NumPy рдПрдХ Container
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ .index()
рдФрд░ .count()
, рдпрд╛рдиреА Sequence
рдХрд░рдирд╛ рдЬрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Iterable
рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдмрд┐рдирд╛ред рдЬрдмрдХрд┐ рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ Iterable
, рд▓реЗрдХрд┐рди рд╕рдмрд░реЗрдЬрд╝ рдХрд╛ ред
рдФрд░ рдЕрдЧрд░ рдпрд╣ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рдЧрдбрд╝рдмрдбрд╝ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╣реИред рдХреЗрд╡рд▓ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдпрд╛ рддреЛ рд╕рд┐рдореНрдкреА рдкрде рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдмрд╕ Iterable
рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рди рдХрд░реЗрдВред (рд╣рдо SymPy рдкрде рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ, рдФрд░ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ __iter__
рдХреЛ рдПрдХ рдореМрдХрд╛ рдорд┐рд▓рд╛ рд╣реИ)ред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░реА рдЙрдореНрдореАрдж рдпрд╣ рд╣реИ рдХрд┐ 1-рдбреА рдПрдХ рддрд░рдл, рд╕рд░рдгреА-рдкрд╕рдВрдж рдХреЗрд╡рд▓ рдкрд╛рдпрдерди рдХрд▓реЗрдХреНрд╢рдВрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрд▓рдЧ рдЬрд╛рдирд╡рд░ рд╣реИрдВред рдЬрдм рдЪрд▓рдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ MultidimensionalCollection
рдмреАрдЪ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреЗрдореЗрд▓ рд╕рдВрдХреЗрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП __contains__
рдФрд░ __iter__
(рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ?)ред
рдЬрдм рд╡рд░реНрддрдорд╛рди рдореЗрдВ Sequence
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдпрд╣ рд╕реЛрдЪрдХрд░ рдЖрд░рд╛рдо рдХрд░реВрдВрдЧрд╛ рдХрд┐ ElementwiseCollection
(рдСрдкрд░реЗрдЯрд░ рдХрдВрдЯреЗрдирд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдмрдЬрд╛рдп рддрддреНрд╡рд╡рд╛рдЪрдХ рд╕рдВрдЪрд╛рд▓рдХ рд╣реИрдВ, рдЙрджрд╛ +
) рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЦрд╕реНрддрд╛ рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рд╕рднреА рд╕рд░рдгреА-рдкрд╕рдВрдж рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ (рд╕рд░рдгреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреЗрдЦреЗрдВ)ред рдпрд╣ рднреА рдПрдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ - рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рджреЗрд╢реА - рдФрд░ рдХрднреА-рдХрднреА рдЦреБрдж рдХреЗ рд╕рд╛рде - рдЕрдЬрдЧрд░ рдкрд░ред
рдХреЗрд╡рд▓ рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рд╕рдмрд░реНрд░реЗ рдмрдирд╛рдо рддрддреНрд╡ рдХрд╛ рдмреЗрдореЗрд▓ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░, рд╣рд╛рдВ, __eq__
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ __nonzero__
рдареЗрда рдЕрдЬрдЧрд░ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд╕рдорд╛рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдореИрдВ рдпрд╣рд╛рдВ 8 рд╕рд╛рд▓ рдХреА рд▓рдВрдмреА рд╡реИрдЧрди рдореЗрдВ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВред рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде, рдЕрдВрддрд┐рдо рдИ-рдореЗрд▓ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдмрд╛рдж, рдФрд░ рдмреАрдЪ рдореЗрдВ рдПрдХ рдЕрдиреНрдп рджреЛрд╕реНрдд рдХреЗ рд╕рд╛рде рдЪреИрдЯрд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдЗрди рдмрд╛рддреЛрдВ рдХреЛ рд╕рдмрд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ рд╡реЗ рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХреЛ "рдЬреЛ рднреА рд╕рдВрдЧреНрд░рд╣ред
рдореИрдВ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдКрдкрд░ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдмрд╕ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ "рдХреНрдпрд╛ рдкрд╛рдпрдерди рд╕реАрдХреНрд╡реЗрдВрд╕ рдмрдирд╛рддрд╛ рд╣реИ" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдХрдореА рд╣реИ рдЬреЛ ndarrays рдореЗрд░реЗ рдЬреИрд╕реЗ рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ tuples рдЬреИрд╕реЗ рджреГрд╢реНрдпреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирд╛ рд╣реИ, рдПрдХ рд╕рдиреНрдирд┐рд╣рд┐рдд рд╕реВрдЪрдХрд╛рдВрдХ рд╣реЛрдиреЗ рдЕрдВрддрд░рд┐рдХреНрд╖ рдЬреЛ рд╕рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдмреАрд╕реА рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджреЗрдирд╛ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдореВрд▓реНрдп рдХрд╛ рд╣реЛрдЧрд╛, рдпрд╛ рддреЛ рдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдпрд╛ рд╕реНрдерд┐рд░-рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдХреЗрдд рдореЗрдВред
@seberg рдпрд╣ рдПрдХ рдорд╣рд╛рди
рдпрд╣ рд╕рдорд╕реНрдпрд╛ ndarray
рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ Sequence
рдпрд╛ Iterable
рдпрд╛ Container
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ ndarray
рд╕рджрд╕реНрдпреЛрдВ рдкрд░ рд╕рд╕реНрддреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ рдЙрдЪрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдФрд░ isinstance
рдЪреЗрдХ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
class ndarray(Generic[T]):
def as_container(self) -> Container[T]:
if self.ndim == 0:
raise ValueError
return ContainerView(self) # correctly answers __len__, __iter__ etc.
def as_subarray_iterable(self) -> Iterable[np.ndarray[T]]:
if self.ndim <= 1:
raise ValueError
return SubarrayIterableView(self)
def as_scalar_sequence(self) -> Sequence[T]:
if self.ndim != 1:
raise ValueError
return ScalarView(self)
def as_subarray_sequence(self) -> Sequence[np.ndarray[T]]:
if self.ndim <= 1:
raise ValueError
return SubarraySequenceView(self) # this view has to reinterpret __contains__ to do the expected thing.
ndarray
рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╣реЛрдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ ndarray
рдЗрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╡ рд╕рдмрд╕реЗ рд╕рд╕реНрддреЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛, рддреЛ рдпрд╣ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИред рдпрд╣ ndim
рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЪреЗрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЬрдм рдкреНрд░рдХрд╛рд░ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) ndarray
ред
рдХреНрдпрд╛ рд╡рд╣ рдЕрдВрддрд┐рдо рдПрдиреЛрдЯреЗрд╢рди Sequence
рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ Iterable
?
@ рдПрд░рд┐рдХ-рд╡рд╛рдЗрдЬрд░ рдпреВрдк! рдзрдиреНрдпрд╡рд╛рджред рдЖрдкрдХреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ?
рдЦреИрд░, as_subarray_sequence
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ list(arr)
:) рд╣реИ
@ eric-wieser рд╣рд╛рдБ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдПрдХ рджреГрд╢реНрдп рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред
рдареАрдХ рд╣реИ, list(arr)
рд╕рд┐рд░реНрдл len(arr)
рд╡рд┐рдЪрд╛рд░ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рд╡реИрд╕реЗ рднреА рдЙрддреНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреИрд╕реЗ рдЕрдЧрд░ рдореИрдВрдиреЗ рдЖрдкрдХреЛ iterated рдХрд┐рдпрд╛ рд╣реИред
рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕рдордп рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рд╕рднреА рддрд░реАрдХреЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ ndarray-like рд╣реИ (рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВ рдХрд┐ 0-D рд╕рд░рдгрд┐рдпрд╛рдБ рдХрдВрдЯреЗрдирд░ рдирд╣реАрдВ рд╣реИрдВ)ред рдЗрд╕рд▓рд┐рдП рд╡реЗ рдХреЗрд╡рд▓ рддрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗ рдЬрдм рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХреАрдХреГрдд рдПрдмреАрд╕реА рдерд╛, рдФрд░ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ рдХрд┐ рдореВрд▓ рдЕрдиреБрдХреНрд░рдордг рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рдВрдЧрдд рд╣реИ рдФрд░ рд╢рд╛рдпрдж .flat
рд╕рдВрдкрддреНрддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдореВрд▓ рдореБрджреНрджрд╛ ( random.sample
рдХрд╛рдо рдмрдВрдж) рдкрд╛рд░рд┐рдд рд╕рдордп рдХреЗ рдХрд╛рд░рдг рдХрд╛рдлреА рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред рд╣рд╛рдВ, рдЗрд╕рдХрд╛ рд╣рд▓реНрдХрд╛ рдХрд╖реНрдЯрдкреНрд░рдж, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рдпрд╣ рдмреЗрд╣рддрд░ рдХреЗ рд▓рд┐рдП рднреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рддреЛ рд╕рдмрд░реЗрдЬ рдпрд╛ рддрддреНрд╡реЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рдмрддрдЦ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛрдб рддреЛрдбрд╝рдиреЗ рд╣реИ рд╣реВрдБред рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╢рд╛рдпрдж рдХреНрд░рдордмрджреНрдзрддрд╛ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИрдВ (рдореЗрд░реЗ рдкрд╛рд╕ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИрдВ)ред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдИ рдХреЛрдб isinstance
ABC
s рдкрд░ isinstance
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ np.ndarray
рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рд╕реЗ рдирдлрд░рдд рд╣реИред рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ ndarray рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП, рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА, рд╣рдореЗрдВ рдПрдХ рдирдП ABC
, .ndim
рд╕рдВрдкрддреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдФрд░ рд╕рдВрднрд╡рддрдГ рдиреЗрд╕реНрдЯреЗрдб-рдЕрдиреБрдХреНрд░рдо рд╢реИрд▓реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЙрдкрд░реНрдпреБрдХреНрдд рдЬреИрд╕реЗ рддрд░реАрдХреЗ рдХрд┐рд╕реА рднреА рд╕рд░рдгреА-рдЬреИрд╕реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрднреЛрдХреНрддрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдо рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ :)? рдЙрдиреНрд╣реЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╛рдпрдерди рдЕрдиреБрдХреНрд░рдо рдЪреАрдЬреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
@ Eric-Wieser
рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдкреВрд░реЗ рдЕрдиреБрдХреНрд░рдо рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдк рдХреЗрд╡рд▓ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред
@seberg
рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕рдордп рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ
рдореИрдВ рдЖрдкрд╕реЗ рд╕рд╣рдордд рд╣реБрдБред рдЖрдк рдХрд┐рд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЬрдм рд╕рдВрдЦреНрдпрд╛ 1.10 рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдирд┐рдХрд▓рддреА рд╣реИ, рддреЛ рдореИрдВ рдХрднреА-рдХрднреА рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЖрдпрд╛рдореА рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЦрд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрджрд┐ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдирд┐рдореНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
cast
рдХреЛ рдореИрдкреА рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдиреБрдХреНрд░рдо рд╣реИредрдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдмрдбрд╝реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗ рднреА рдирдлрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд░реАрдХреЗ рдпрд╛ рдирдВрдЧреЗ рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдЪрд▓рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рди рдкрдХрдбрд╝ рд▓реЗрддреЗ рд╣реИрдВред рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ?
(рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВ рдХрд┐ 0-рдбреА рд╕рд░рдгрд┐рдпрд╛рдВ рдХрдВрдЯреЗрдирд░ рдирд╣реАрдВ рд╣реИрдВ)ред
рдореБрдЭреЗ рдХреЛрдИ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдк рдЗрди рдХреЗ рд▓рд┐рдП __len__
рдЬреБрдЯрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рддрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ 0-рдбреА рд╕рд░рдгреА рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдореИрдкреА рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк 0-рдбреА рдПрд░реЗрдЬрд╝ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкрдХрдбрд╝ рдореЗрдВ рдирд╣реАрдВ рдЖрдПрдЧрд╛ред
рд╣рдореЗрдВ рдПрдХ рдирдИ ABC рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдХрд┐ .ndim рд╕рдВрдкрддреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рд╕рдВрднрд╡рддрдГ рдиреЗрд╕реНрдЯреЗрдб-рдЕрдиреБрдХреНрд░рдо рд╢реИрд▓реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реБрдЭрд╛рд╡ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡реИрд╕реЗ рднреА рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП JAX рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдПрдХ рд╢реМрдХреАрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реВрдБред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, numpy.ndarray
рдФрд░ jax.numpy.ndarray
(рдЬрд┐рд╕рдореЗрдВ рдЙрдкрд╡рд░реНрдЧ рд╣реИрдВ) рджреЛрдиреЛрдВ рдХреЛ рдХреБрдЫ рд╕рд╛рд░ NDArray
рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ ndim
рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдпрд╣ NDArray(Generic[T])
рдХрдо рд╕реЗ рдХрдо рд╣реЛрдЧрд╛, рдФрд░ рд╢рд╛рдпрдж рдШрдЯрдирд╛ рдХрд╛ рдЖрдХрд╛рд░ рдпрд╛ рдЖрдпрд╛рдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рд╣реЛред рдпрд╣ __eq__
NDArray[np.bool_]
рд▓реМрдЯ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рд╢рд╛рдпрдж рдореБрдЭрд╕реЗ рдмреЗрд╣рддрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ :)
рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛ рдХрд┐ numpy.array
рдХреЛ collections.Sequence
рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдм рдореБрдЭреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рддрд░реНрдХ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреБрдореНрд╣рд╛рд░рд╛ !!) рд▓рдЧрддрд╛ рд╣реИред Numpy рд╕рд░рдгрд┐рдпрд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрдХреНрд░рдо рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫреЗ рд╕реЗ рдЕрдзрд┐рдХ рдиреБрдХрд╕рд╛рди рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред рдХреНрдпреЛрдВ рди рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдЕрдкрдиреА рдЪреАрдЬ рдмрдирдиреЗ рджреЗрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рдЗрдЪреНрдЫрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдВ?
рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдИ рдХреЛрдб рдореЗрдВ ABCs рдкрд░ рдЖрдЗрдВрд╕реНрдЯреАрди рдЬрд╛рдВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА,
рдЕрдм рдЬрдм рдЖрдк рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рд╕рднреА рдХреЛ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рддрд░рд╣, рд╡реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЪреИрдХ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрдкрд░реНрдпреБрдХреНрдд рдЬреИрд╕реЗ рддрд░реАрдХреЗ рдХрд┐рд╕реА рднреА рд╕рд░рдгреА-рдЬреИрд╕реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрднреЛрдХреНрддрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдо рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ :)? рдЙрдиреНрд╣реЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╛рдпрдерди рдЕрдиреБрдХреНрд░рдо рдЪреАрдЬреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рди рдХреВрд▓ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рдирд╢реЗ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд░рд╕реАрд▓рд╛ рд╕реБрдиреНрди рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реВрдВ рдЬреЛ # type: ignore
рдХреЗ рд╕рд╛рде рдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдореИрдкреА рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЗ рдорди рдореЗрдВ рдХреМрди рд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ?
рдЦреИрд░, рд╕рдВрдХреЗрдд рдЯрд╛рдЗрдк рдХрд░реЗрдВ рдФрд░ рдЕрдиреНрдп рд╕рд░рдгреА рдЬреИрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реЛрдк рдХрд░реЗрдВ, рд╢рд╛рдпрдж рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░реЗрд░рдгрд╛ рд╣реИред рдореИрдВ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдпрд╛ рд╕реВрдЪреА рд╕реВрддреНрд░ рдореЗрд▓рд┐рдВрдЧ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВред рдЕрднреА, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреНрдпрд╛ рд╕реЛрдЪрдирд╛ рд╣реИ, рдЯрд╛рдЗрдкрд┐рдВрдЧ рдмрди рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рд╛рдВ, рдХреГрдкрдпрд╛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ
Sequence.register(np.ndarray)
рдЬреЛрдбрд╝реЗрдВред