Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
127 views

Python Sequence and Collections

This document discusses Python sequences and collections. It defines sequences as having a deterministic ordering, while collections do not. The six types of Python sequences are described as strings, lists, tuples, byte sequences, byte arrays, and range objects. Common operations, functions, and methods for sequences are also covered, along with Python collections like sets and dictionaries.

Uploaded by

pradiprane85
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
127 views

Python Sequence and Collections

This document discusses Python sequences and collections. It defines sequences as having a deterministic ordering, while collections do not. The six types of Python sequences are described as strings, lists, tuples, byte sequences, byte arrays, and range objects. Common operations, functions, and methods for sequences are also covered, along with Python collections like sets and dictionaries.

Uploaded by

pradiprane85
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Python Sequence and Collections –

Operations, Functions, Methods


This blog is dedicated to a revision of the Python sequence and collections.

In this Python Sequence Tutorial, we will discuss 6 types of Sequence: String,


list, tuples, Byte sequences, byte array, and range object.

Moreover, we will discuss Python sequence operations, functions, and


methods. At last, we will cover python collection: sets and dictionaries.

So, let’s start Python Sequence and Collections

Python Sequence and Collections – Operations, Functions, Methods

What is Python Sequence?


So, what is a Python sequence, and how does it differ from a Python
collection?
A sequence is a group of items with a deterministic ordering. The order in
which we put them in is the order in which we get an item out from them.

Python offers six types of sequences. Let’s discuss them.

1. Python Strings
A string is a group of characters. Since Python has no provision for arrays, we
simply use strings. This is how we declare a string:

Python Sequence or Collection

We can use a pair of single or double quotes. And like we’ve always said,
Python is dynamically-typed. Every string object is of the type ‘str’.

>>> type(name)

Output
<class ‘str’>

To declare an empty string, we may use the function str():

>>> name=str()
>>> name

Output

>>> name=str('Ayushi')
>>> name

Output
‘Ayushi’

>>> name[3]

Output
‘s’

2. Python Lists
Since Python does not have arrays, it has lists. A list is an ordered group of
items. To declare it, we use square brackets.

>>> groceries=['milk','bread','eggs']
>>> groceries[1]

Output
‘bread’

>>> groceries[:2]

Output
[‘milk’, ‘bread’]

A Python list can hold all kinds of items; this is what makes it heterogenous.

>>> mylist=[1,'2',3.0,False]

Also, a list is mutable. This means we can change a value.

>>> groceries[0]='cheese'
>>> groceries

Output
[‘cheese’, ‘bread’, ‘eggs’]

A list may also contain functions.

>>> groceries[0]='cheese'
>>> groceries

Output
print(“Hi”)

>>> newlist=[sayhi,sayhi]
>>> newlist[0]

Output
<function sayhi at 0x05907300>

>>> newlist[0]()

Output
Hi
3. Python Tuples
A tuple, in effect, is an immutable group of items. When we say immutable, we
mean we cannot change a single value once we declare it.

>>> name=('Ayushi','Sharma')
>>> type(name)

Output
<class ‘tuple’>

We can also use the function tuple().

>>> name=tuple(['Ayushi','Sharma'])
>>> name

Output
(‘Ayushi’, ‘Sharma’)

Like we said, a tuple is immutable. Let’s try changing a value.

>>> name[0]='Avery'

Output
Traceback (most recent call last):File “<pyshell#594>”, line 1, in <module>

name[0]=’Avery’

TypeError: ‘tuple’ object does not support item assignment

4. Bytes Sequences
The function bytes() returns an immutable bytes object. We dealt with this
when we talked Built-in Functions in Python.

Let’s take a few examples.

>>> bytes(5)

Output
b’\x00\x00\x00\x00\x00′

>>> bytes([1,2,3,4,5])
Output
b’\x01\x02\x03\x04\x05′

>>> bytes('hello','utf-8')

Output
b ‘hello’

Here, utf-8 is the encoding we used.

Since it is immutable, if we try to change an item, it will raise a TypeError.

>>> a=bytes([1,2,3,4,5])
>>> a

Output
b’\x01\x02\x03\x04\x05′

>>> a[4]=3

Output
Traceback (most recent call last):File “<pyshell#46>”, line 1, in <module>

a[4]=3

TypeError: ‘bytes’ object does not support item assignment

5. Bytes Arrays
In that article, we discussed this one too. A bytesarray object is like a bytes
object, but it is mutable.

It returns an array of the given byte size.

>>> a=bytearray(4)
>>> a

Output
bytearray(b’\x00\x00\x00\x00′)

>>> a=bytearray(4)
>>> a

Output
bytearray(b’\x00\x00\x00\x00\x01′)

>>> a[0]=1
>>> a

Output
bytearray(b’\x01\x00\x00\x00\x01′)

>>> a[0]

Output
1

Let’s try doing this on a list.

>>> bytearray([1,2,3,4])

Output
bytearray(b’\x01\x02\x03\x04′)

Finally, let’s try changing a value.

>>> a=bytearray([1,2,3,4,5])
>>> a

Output
bytearray(b’\x01\x02\x03\x04\x05′)

>>> a[4]=3
>>> a

Output
bytearray(b’\x01\x02\x03\x04\x03′)

See? It is mutable.

6. range() objects
A range() object lends us a range to iterate on; it gives us a list of numbers.

>>> a=range(4)
>>> type(a)

Output
<class ‘range’>
>>> for i in range(7,0,-1):
print(i)

Output
7
6
5
4
3
2
1

We took an entire post on Range in Python.

Python Sequence Operations


Since we classify into sequences and collections, we might as well discuss the
operations we can perform on them. For simplicity, we will demonstrate these
on strings.

1. Concatenation
Concatenation adds the second operand after the first one.

>>> 'Ayu'+'shi'

Output
‘Ayushi’

2. Integer Multiplication
We can make a string print twice by multiplying it by 2.

>>> 'ba'+'na'*2

Output
‘banana’

3. Membership
To check if a value is a member of a sequence, we use the ‘in’ operator.

>>> 'men' in 'Disappointment'


Output
True

4. Python Slice
Sometimes, we only want a part of a sequence, and not all of it. We do it with
the slicing operator.

>>> 'Ayushi'[1:4]

Output
‘yus’

Python Sequence Functions


1. len()
A very common and useful function to pass a sequence to is len(). It returns
the length of the Python sequence.

>>> len('Ayushi')

Output
6

2. min() and max()


min() and max() return the lowest and highest values, respectively, in a
Python sequence.

>>> min('cat')

Output
‘a’

>>> max('cat')

Output
‘t’

This comparison is based on ASCII values.

Python Sequence Methods


There are some methods that we can call on a Python sequence:

1. Python index()
This method returns the index of the first occurrence of a value.

>>> 'banana'.index('n')

Output
2

2. Python count()
count() returns the number of occurrences of a value in a Python sequence.

>>> 'banana'.count('na')

Output
2

>>> 'banana'.count('a')

Output
3

Python Collections
Python collection, unlike a sequence, does not have a deterministic ordering.
Examples include sets and dictionaries.

In a collection, while ordering is arbitrary, physically, they do have an order.

Every time we visit a set, we get its items in the same order. However, if we
add or remove an item, it may affect the order.

1. Python Set
A set, in Python, is like a mathematical set in Python. It does not hold
duplicates. We can declare a set in two ways:

>>> nums={2,1,3,2}
>>> nums
Output
{1, 2, 3}

>>> nums=set([1,3,2])
>>> nums

Output
{1, 2, 3}

A set is mutable.

>>> nums.discard(2)
>>> nums

Output
{1, 3}

But it may not contain mutable items like lists, dictionaries, or other sets.

2. Python Dictionaries
Think of a dictionary as a real-life dictionary. It holds key-value pairs, and this
is how we declare it:

>>> a={'name':1,'dob':2}

Or, you could do:

>>> a=dict()
>>> a['name']=1
>>> a['dob']=2
>>> a

Output
{‘name’: 1, ‘dob’: 2}

We have yet another way to create a dictionary- a dictionary comprehension.

>>> a={i:2**i for i in range(4)}


>>> a

Output
{0: 1, 1: 2, 2: 4, 3: 8}
However, a key cannot be of an unhashable type.

>>> a={[1,2,3]:1,1:[1,2,3]}

Output
Traceback (most recent call last):File “<pyshell#629>”, line 1, in <module>

a={[1,2,3]:1,1:[1,2,3]}

TypeError: unhashable type: ‘list’

So, this was all about the Python sequence and collections tutorial. Hope you
like our explanation.

Python Interview Questions on Sequences and


Collections
1. What are Python Collections and Sequences?
2. What are the different types of Sequences in Python?
3. Is string, a collection in Python?
4. What are collection data types in Python?
5. Is set, a sequence in Python?

Conclusion
To conclude this Python Sequence and collection tutorial, we will say that a
sequence has a deterministic ordering, but a collection does not.

Examples of sequences include strings, lists, tuples, bytes sequences, bytes


arrays, and range objects. Those of collections include sets and dictionaries.

You might also like