0% found this document useful (0 votes)
47 views

PP - Unit-2 (Chapter 2)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

PP - Unit-2 (Chapter 2)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

UNIT-2 (CHAPTER 2)

Sequences(Data Structures)

1
Data Structure: Sequence
A data structure is a group of data elements that are put together under one
name. Data structure defines a
particular way of storing and organizing data in a computer so that it can be used
efficiently.
Sequence is the most basic data structure in Python. In sequence, each element
has a specific index. This index value starts from zero and is automatically
incremented for the next element. In Python, sequence is the generic term for an
ordered set. For example, we have already studied strings which are a sequence
2

of characters.
Lists
List is a versatile data type available in Python. It is a sequence in which elements are written as a list of
comma-separated values (items) between square brackets. The key feature of a list is that it can have
elements that belong to different data types.The syntax of defining a list can be given as,
List_variable = [val1, val2,...]

Examples:

3
Lists

A List is a collection of data which is ordered and changeable.


• The list can contain data of different types.
• The items stored in the list are separated with a comma (,) and
enclosed within square brackets [ ].
• Access the List items by referring to the index number or slice
[:] operator.

4
Access Values in Lists

Similar to strings, lists can also be sliced and concatenated. To access values in lists, square brackets are used
to slice along with the index or indices to get value stored at that index. The syntax for the slice operation is
given as, seq = List[start:stop:step]
Example:

5
Updating Values in Lists
Once created, one or more elements of a list can be easily updated by giving the slice on the left-hand side of
the assignment operator. You can also append new values in the list and remove existing value(s) from the list
using the append() method and del statement respectively.
Example:

6
Nested Lists
Nested list means a list within another list. We have already said that a list has elements of different data
types which can include even a list.

Example:

7
Cloning Lists
If you want to modify a list and also keep a copy of the original list, then you should create a separate copy
of the list (not just the reference).This process is called cloning.The slice operation is used to clone a list.

Example:

8
Basic List Operations

9
List Methods

10
Using Lists as Stack
Stack is an important data structure which stores its elements in an ordered manner. Stack is a linear data
structure which uses the same principle, i.e., the elements in a stack are added and removed only from one
end. Hence, a stack is called a LIFO (Last-In-First-Out) data structure, as the element that was inserted last is
the first one to be taken out.

11
Using Lists as Stack
Example:

12
Using Lists as Queues
Queue is an important data structure which stores its elements in an ordered manner. In computer systems,
the operating system makes full use of queues for the following tasks.
• To maintain waiting lists for a single shared resource like printer, disk, CPU, etc.
• To transfer data asynchronously (data not necessarily received at same rate as sent) between two processes
(IO buffers), e.g., pipes, file IO, and sockets.
• As buffers on MP3 players and portable CD players, iPod playlist, etc.
• Handling interrupts.
• Queues are also used in the playlist of jukebox to add songs to the end and play from the front of the list.
Queue supports three basic operations—insert, delete, and peep (or peek). In Python, you can easily
implement a queue by using the append() method to insert an element at the end of the queue, pop()
method with an index 0 to delete the first element from the queue, and slice operation to print the value
13
of
the last the element in the queue.
Using Lists as Queues
Example:

14
List Comprehensions
Python also supports computed lists called list comprehensions having the following syntax.
List = [expression for variable in sequence]
Where, the expression is evaluated once, for every item in the sequence.
List comprehensions help programmers to create lists in a concise way. This is mainly beneficial to make new
lists where each element is the obtained by applying some operations to each member of another sequence
or iterable. List comprehension is also used to create a subsequence of those elements that satisfy a certain
condition.
Example:

15
Looping in Lists
Python's for and in constructs are extremely useful especially when working with lists. The for var in list
statement is an easy way to access each element in a list (or any other sequence). For example, in the
following code, the for loop is used to access each item in the list.
for i in list: Example:
print(i)

16
Using the enumerate()
enumerate() function is used when you want to print both index as well as an item in the list. The function
returns an enumerate object which contains the index and value of all the items of the list as a tuple.

Examples:

17
map() Function
The map() function applies a particular function to every element of a list. Its syntax is same as the filter
function

After applying the specified function on the sequence, the map() function returns the modified list.The map()
function calls function(item) for each item in the sequence and returns a list of the return values.
Example: Program that adds 2 to every value in the list

18
Tuple
Like lists, tuple is another data structure supported by Python. It is very similar to lists but differs in two
things.
• First, a tuple is a sequence of immutable objects. This means that while you can change the value of one or
more items in a list, you cannot change the values in a tuple.
• Second, tuples use parentheses to define its elements whereas lists use square brackets.
Creating Tuple
Creating a tuple is very simple and almost similar to creating a list. For creating a tuple, generally you need
to just put the different comma-separated values within a parentheses as shown below.
Tup1 = (val 1, val 2,...)
where val (or values) can be an integer, a floating number, a character, or a string.
19
Tuple
• A Tuple is a collection which is ordered and unchangeable.

• Like lists, tuples also contain the collection of the items of different data
types.
• The items of the tuple are separated with a comma (,) and enclosed in
parentheses ( ).

• Access the tuple items by referring to the index number or slice (:)
operator.
20
Utility of Tuples
In real-world applications, tuples are extremely useful for representing records or structures as we call
in other programming languages.These structures store related information about a subject together.
The information belongs to different data types.
For example, a tuple that stores information about a student can have elements like roll_no, name, course,
total marks, avg, etc. Some built-in functions return a tuple. For example, the divmod() function returns two
values—quotient as well as the remainder after performing the divide operation.
Examples:

21
Accessing Values in a Tuple
Like other sequences (strings and lists) covered so far, indices in a tuple also starts at 0.You can even perform
operations like slice, concatenate, etc. on a tuple. For example, to access values in tuple, slice operation is
used along with the index or indices to obtain value stored at that index

Example:

22
Deleting Elements in Tuple
Since tuple is an immutable data structure, you cannot delete value(s) from it. Of course, you can create a
new tuple that has all elements in your tuple except the ones you don't want (those you wanted to be
deleted).

Examples:

23
Basic Tuple Operations

24
Tuple Assignment
Tuple assignment is a very powerful feature in Python. It allows a tuple of variables on the left side of the
assignment operator to be assigned values from a tuple given on the right side of the assignment operator.
Each value is assigned to its respective variable. In case, an expression is specified on the right side of the
assignment operator, first that expression is evaluated and then assignment is done.

Example:

25
Tuples for Returning Multiple Values and Nested Tuples
Examples:

26
Checking the Index: index() method
The index of an element in the tuple can be obtained by using the index() method. If the element being
searched is not present in the list, then error is generated. The syntax of index() is given as, list.index(obj)
where, obj is the object to be found out.

Examples:

27
count()Method and List Comprehension and Tuples

Examples:

28
Variable-length Argument Tuples
Many built-in functions like max(), min(), sum(), etc. use variable-length arguments since these functions
themselves do not know how many arguments will be passed to them. It allows a function to accept a variable
(different) number of arguments. This is especially useful in defining functions that are applicable to a large
variety of arguments. For example, if you have a function that displays all the parameters passed to it, then
even the function does not know how many values it will be passed. In such cases, we use a variable-length
argument that begins with a '*' symbol. Any argument that starts with a '*' symbol is known as gather and
specifies a variable-length argument.
Example:

29
The zip() Function

The zip() is a built-in function that takes two or more sequences and "zips" them into a list of tuples.The
tuple thus, formed has one element from each sequence.

Example: Program to show the use of zip() function

30
Advantages of Tuple over List

• Tuples are used to store values of different data types. Lists can however, store data of similar data types.
• Since tuples are immutable, iterating through tuples is faster than iterating over a list.This means that a
tuple performs better than a list.
• Tuples can be used as key for a dictionary but lists cannot be used as keys.
• Tuples are best suited for storing data that is write-protected.
• Tuples can be used in place of lists where the number of values is known and small.
• If you are passing a tuple as an argument to a function, then the potential for unexpected behavior due to
aliasing gets reduced.
• Multiple values from a function can be returned using a tuple.
• Tuples are used to format strings.
31
Sets

Sets is another data structure supported by Python. Basically, sets are same as lists but with a difference that
sets are lists with no duplicate entries.Technically, a set is a mutable and an unordered collection of items.This
means that we can easily add or remove items from it.
A set is created by placing all the elements inside curly brackets {}, separated by comma or by using the
built-in function set().The syntax of creating a set can be given as,

Example: To create a set, you can write,

32
Sets
• A Set is a collection which is unordered, changeable and unindexed.

• Like lists & tuples, sets also contain the collection of the items of different
data types.

• The items of the set are separated with a comma (,) and enclosed in curly
braces{ }.

• Set contains no duplicate values.


33
Set Operations

34
Set Operations

35
Set Operations

36
Set Operations

37
Dictionaries
Dictionary is a data structure in which we store values as a pair of key and value. Each key is separated from its
value by a colon (:), and consecutive items are separated by commas. The entire items in a dictionary are
enclosed in curly brackets({}).The syntax for defining a dictionary is
dictionary_name = {key_1: value_1, key_2: value_2, key_3: value_3}
If there are many keys and values in dictionaries, then we can also write just one key-value pair on a line
to make the code easier to read and understand. This is shown below.
dictionary_name = {key_1: value_1, key_2: value_2, key_3: value_3, ….}

Example:

38
Dictionaries
• A Dictionary is a collection which is unordered, changeable and
indexed.

• Like lists, tuples & sets, dictionaries also contain the collection of the items
of different data types.

• Stores values as a pair of key and value. Each key is separated from its
value by a colon (:), and consecutive items are separated by
commas(,) .

• Like Sets, Dictionaries also contains no duplicate values.


39
Accessing Values

Example:

40
Adding and Modifying an Item in a Dictionary

Example:

41
Modifying an Entry
Example:

42
Deleting Items
You can delete one or more items using the del keyword. To delete or remove all the items in just one
statement, use the clear() function. Finally, to remove an entire dictionary from the memory, we can gain
use the del statement as del Dict_name.The syntax to use the del statement can be given as,
del dictionary_variable[key]
Example:

43
Sorting Items and Looping over Items in a Dictinonary
Examples:

44
Nested Dictionaries

Example:

45
Built-in Dictionary Functions and Methods

46
Built-in Dictionary Functions and Methods

47
Built-in Dictionary Functions and Methods

48
Lists

A List is a collection of data which is ordered and changeable.


• The list can contain data of different types.
• The items stored in the list are separated with a comma (,) and
enclosed within square brackets [ ].
• Access the List items by referring to the index number or slice
[:] operator.

49
Tuple
• A Tuple is a collection which is ordered and unchangeable.

• Like lists, tuples also contain the collection of the items of different data
types.
• The items of the tuple are separated with a comma (,) and enclosed in
parentheses ( ).

• Access the tuple items by referring to the index number or slice (:)
operator.
50
Sets
• A Set is a collection which is unordered, changeable and unindexed.

• Like lists & tuples, sets also contain the collection of the items of different
data types.

• The items of the set are separated with a comma (,) and enclosed in curly
braces{ }.

• Set contains no duplicate values.


51
Dictionaries
• A Dictionary is a collection which is unordered, changeable and
indexed.

• Like lists, tuples & sets, dictionaries also contain the collection of the items
of different data types.

• Stores values as a pair of key and value. Each key is separated from its
value by a colon (:), and consecutive items are separated by
commas(,) .

• Like Sets, Dictionaries also contains no duplicate values.


52
Difference between a List and a Dictionary
First, a list is an ordered set of items. But, a dictionary is a data structure that is used for matching one item
(key) with another (value).
• Second, in lists, you can use indexing to access a particular item. But, these indexes should be a number. In
dictionaries, you can use any type (immutable) of value as an index. For example, when we write Dict['Name'],
Name acts as an index but it is not a number but a string.
• Third, lists are used to look up a value whereas a dictionary is used to take one value and look up another
value. For this reason, dictionary is also known as a lookup table.
Fourth, the key-value pair may not be displayed in the order in which it was specified while defining the
dictionary. This is because Python uses complex algorithms (called hashing) to provide fast access to the items
stored in the dictionary.This also makes dictionary preferable to use over a list of tuples.
53
String Formatting with Dictionaries

Python also allows you to use string formatting feature with dictionaries. So you can use %s, %d, %f, etc. to
represent string, integer, floating point number, or any other data.

Example: Program that uses string formatting feature to print the key-value pairs stored in the dictionary

54
When to use which Data Structure?
• Use lists to store a collection of data that does not need random access.
• Use lists if the data has to be modified frequently.
• Use a set if you want to ensure that every element in the data structure must be unique.
• Use tuples when you want that your data should not be altered.

55

You might also like