TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

<< Back to PYTHON

Python Slice Examples: Start, Stop and Step

Use the slice syntax on lists and strings. A slice has a start, stop and step.
Slice. A snake appears near your foot. It moves from the invisible to the visible. Our vision reveals (like a slice) only a part of the world.
A Python slice extracts elements, based on a start and stop. We take slices on many types in Python. We specify an optional first index, an optional last index, and an optional step.
Syntax notes. The special syntax for this operation is at first confusing. But with practice, slicing becomes easy. When we omit a value, a default is used.
Slice syntax forms: Get elements from... values[1:3] Index 1 through index 3. values[2:-1] Index 2 through index one from last. values[:2] Start through index 2. values[2:] Index 2 through end. values[::2] Start through end, skipping ahead 2 places each time.
List. This program takes a slice of a list. We first create a list with five numeric elements. We specify in the slice two values: 1 and 3. At index 1, we have the value 200.

Note: Python elements begin at index 0. So the first index (for slices or indexes) is zero.

Here: We continue up to (but not including) index 3, which is the value 400. So our result list has 200 and 300 in it.

Python program that slices list values = [100, 200, 300, 400, 500] # Get elements from second index to third index. slice = values[1:3] print(slice) Output [200, 300]
Negative. The second index in slice notation may be negative. This means counting begins from the last index. So a negative one means the same as "length minus one."

So: You can reduce an array length by one by using a second index of negative one. Leave the first index undefined.

Python program that slices, negative second index values = [100, 200, 300, 400, 500] # Slice from third index to index one from last. slice = values[2:-1] print(slice) Output [300, 400]
Start, end. In slicing, if you omit the first or second index, it means "start" or "end." This is clearer than specifying 0 or the length.

Tip: Programs with less confusing syntax tend to develop fewer bugs over time. So lazy programmers are sometimes the best ones.

Python program that slices, starts and ends values = [100, 200, 300, 400, 500] # Slice from start to second index. slice = values[:2] print(slice) # Slice from second index to end. slice = values[2:] print(slice) Output [100, 200] [300, 400, 500]
Strings. We use the slice notation on strings. In this example, we omit the first index to start at the beginning, and then consume four characters total. We extract the first four letters.Substring
Python program that slices string word = "something" # Get first four characters. part = word[:4] print(part) Output some
Step. There is a third, optional index used in slicing: the step. If the step is two, we advance two places after an element is copied. So we can skip over elements.

Tip: This allows us to quickly access all odd or even elements in an array. No complicated loops are required.

Python program that uses step, slices values = "AaBbCcDdEe" # Starting at 0 and continuing until end, take every other char. evens = values[::2] print(evens) Output ABCDE
Invalid. Slicing is safe. It will cause no errors assuming you use integers as arguments. Often when programming, a tiny error will cause an extreme disaster and the program will implode.

However: Slicing alleviates some of these hassles. But this too can be a problem. Our program might silently fail, causing confusion later.

Python program that uses invalid indexes values = [9, 8, 7, 6] # This causes no error. test = values[555:555:5555] print(test)
TypeError. Arguments to slice must be of a valid type. They cannot be strings or collections. If an object has an __index__ method, it can be used in place of an integer as a slice index.Exceptions
Python program that causes TypeError values = ["carrot", "rat"] # Must use indexes or None. test = values["friend":"dog"] print(test) Output Traceback (most recent call last): File "...", line 7, in <module> test = values["friend":"dog"] TypeError: slice indices must be integers or None or have an __index__ method
Object. There is a slice built-in method. It returns a slice object. As the documentation states, slice objects are not used in core types, but are sometimes needed in numerical libraries.

So: If you are trying to slice a string, list or other built-in type, pay no attention to the slice method. It won't help you.

Python program that creates slice object # Create a slice object. example = slice(1, 10, 0) print(example.start, example.stop, example.step) Output 1 10 0
Copy. With slicing, we can copy sequences like lists. We assign a new list variable to a slice with no specified start or stop values. So the slice copies the entire list and returns it.Copy List
Resize list. A slice can be used to resize a list. We can remove elements past a certain length. This makes the list smaller (reduces its size). We can also pad a list with new elements.Resize List
Tuple. Tuples too may be sliced. Slicing notation is standardized throughout Python 3 objects. So once you learn it on lists or strings, you can slice tuples without much trouble.Tuple
A syntax form. Slicing is convenient. Built into the Python language, it is often unavailable in other languages, making copies and extractions hard. We take substrings with slice notation.
Other operations. With slices, we copy lists and resize lists. This syntax is versatile and expressive. It is compact and provides useful defaults when values are omitted.
© TheDeveloperBlog.com
The Dev Codes

Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf