What does [:] mean?
It is an example of slice notation, and what it does depends on the type of population
. If population
is a list, this line will create a shallow copy of the list. For an object of type tuple
or a str
, it will do nothing (the line will do the same without [:]
), and for a (say) NumPy array, it will create a new view to the same data.
What is the meaning of [:] in python
[:]
is the array slice syntax for every element in the array.
This answer here goes more in depth of the general uses: Explain Python's slice notation
del arr # Deletes the array itself
del arr[:] # Deletes all the elements in the array
del arr[2] # Deletes the second element in the array
del arr[1:] # etc..
What does colon at assignment for list[:] = [...] do in Python
This syntax is a slice assignment. A slice of [:]
means the entire list. The difference between nums[:] =
and nums =
is that the latter doesn't replace elements in the original list. This is observable when there are two references to the list
>>> original = [1, 2, 3]
>>> other = original
>>> original[:] = [0, 0] # changes the contents of the list that both
# original and other refer to
>>> other # see below, now you can see the change through other
[0, 0]
To see the difference just remove the [:]
from the assignment above.
>>> original = [1, 2, 3]
>>> other = original
>>> original = [0, 0] # original now refers to a different list than other
>>> other # other remains the same
[1, 2, 3]
Note: vincent thorpe's comments below are either incorrect or irrelevant to the question. This is not a matter of value vs reference semantics, nor whether you apply the operator to an lvalue or rvalue.
What does - mean in Python function definitions?
It's a function annotation.
In more detail, Python 2.x has docstrings, which allow you to attach a metadata string to various types of object. This is amazingly handy, so Python 3 extends the feature by allowing you to attach metadata to functions describing their parameters and return values.
There's no preconceived use case, but the PEP suggests several. One very handy one is to allow you to annotate parameters with their expected types; it would then be easy to write a decorator that verifies the annotations or coerces the arguments to the right type. Another is to allow parameter-specific documentation instead of encoding it into the docstring.
what's the meaning of x[:]=y?
The term you need to search for is slice. x[start:end:step]
is the full form, any one can be omitted to use a default value: start
defaults to 0
, end
defaults to the length of the list, and step
defaults to 1. So x[:]
means exactly the same as x[0:len(x):1]
. You can find more information at
the Expression section of the language reference, and section four of the python tutorial might also be helpful.
What does [:-1] mean/do in python?
It slices the string to omit the last character, in this case a newline character:
>>> 'test\n'[:-1]
'test'
Since this works even on empty strings, it's a pretty safe way of removing that last character, if present:
>>> ''[:-1]
''
This works on any sequence, not just strings.
For lines in a text file, I’d actually use line.rstrip('\n')
to only remove a newline; sometimes the last line in the file doesn’t end in a newline character and using slicing then removes whatever other character is last on that line.
Meaning of X = X[:, 1] in Python
x = np.random.rand(3,2)
x
Out[37]:
array([[ 0.03196827, 0.50048646],
[ 0.85928802, 0.50081615],
[ 0.11140678, 0.88828011]])
x = x[:,1]
x
Out[39]: array([ 0.50048646, 0.50081615, 0.88828011])
So what that line did is sliced the array, taking all rows (:
) but keeping the second column (1
)
What does [:, :] mean on NumPy arrays
The [:, :]
stands for everything from the beginning to the end just like for lists. The difference is that the first :
stands for first and the second :
for the second dimension.
a = numpy.zeros((3, 3))
In [132]: a
Out[132]:
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])
Assigning to second row:
In [133]: a[1, :] = 3
In [134]: a
Out[134]:
array([[ 0., 0., 0.],
[ 3., 3., 3.],
[ 0., 0., 0.]])
Assigning to second column:
In [135]: a[:, 1] = 4
In [136]: a
Out[136]:
array([[ 0., 4., 0.],
[ 3., 4., 3.],
[ 0., 4., 0.]])
Assigning to all:
In [137]: a[:] = 10
In [138]: a
Out[138]:
array([[ 10., 10., 10.],
[ 10., 10., 10.],
[ 10., 10., 10.]])
What does [:] mean in groovy?
[:]
is shorthand notation for creating a Map.
You can also add keys and values to it:
def foo = [bar: 'baz']
Related Topics
Factorize a Column of Strings in Pandas
How to Control the Mouse in MAC Using Python
Take Multiple Lists into Dataframe
How to Get Element-Wise Matrix Multiplication (Hadamard Product) in Numpy
How to Schedule a Function to Run Every Hour on Flask
Iso to Datetime Object: 'Z' Is a Bad Directive
Spark Iteration Time Increasing Exponentially When Using Join
Why Is 'Self' in Python Objects Immutable
How to Call an Async Function Without Await
Changing Order of Unit Tests in Python
How to Replace (Or Strip) an Extension from a Filename in Python
MySQL "Incorrect String Value" Error When Save Unicode String in Django
How to Avoid "Permission Denied" When Using Pip with Virtualenv
Logging, Streamhandler and Standard Streams
How to Remove Duplicates from a CSV File
Re.Sub Erroring with "Expected String or Bytes-Like Object"
Valueerror: Could Not Broadcast Input Array from Shape (224,224,3) into Shape (224,224)