Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 52

Machine Learning

Day 3
Python - Decision Making
Decision making is anticipation of conditions
occurring while execution of the program and
specifying actions taken according to the
conditions.

Decision structures evaluate multiple


expressions which produce TRUE or FALSE as
outcome. You need to determine which action
to take and which statements to execute if
outcome is TRUE or FALSE otherwise.

Following is the general form of a typical


decision making structure found in most of
the programming languages −
Python IF Statement
It is similar to that of other languages. The if statement contains a
logical expression using which data is compared and a decision is
made based on the result of the comparison.

Syntax
if expression:
statement(s)

If the boolean expression evaluates to TRUE, then the block of


statement(s) inside the if statement is executed. If boolean
expression evaluates to FALSE, then the first set of code after the
end of the if statement(s) is executed.
Python IF Statement
Python IF...ELSE Statements
An else statement can be combined with an if
statement. An else statement contains the block of
code that executes if the conditional expression in the if
statement resolves to 0 or a FALSE value.

The else statement is an optional statement and there


could be at most only one else statement following if

Syntax
The syntax of the if...else statement is −
if expression:
statement(s)
else:
statement(s)
Python IF...ELSE Statements
The elif Statement
The elif statement allows you to check multiple expressions for
TRUE and execute a block of code as soon as one of the conditions
evaluates to TRUE.
Similar to the else, the elif statement is optional. However, unlike
else, for which there can be at most one statement, there can be an
arbitrary number of elif statements following an if.
syntax
if expression1:
statement(s)
elif expression2:
statement(s)
elif expression3:
statement(s)
else:
statement(s)
Python Nested IF statements
There may be a situation when you want to check for another condition
after a condition resolves to true. In such a situation, you can use the
nested if construct.
In a nested if construct, you can have an if...elif...else construct inside
another if...elif...else construct.
Syntax
The syntax of the nested if...elif...else construct may be −
if expression1:
statement(s)
if expression2:
statement(s)
elif expression3:
statement(s)
elif expression4:
statement(s)
else:
statement(s)
else:
statement(s)
String Manipulation
Python String Manipulation
String literals in python are surrounded by either single quotation
marks, or double quotation marks.
'hello' is the same as "hello"
Strings can be output to screen using the print function. For
example: print("hello").

Like many other popular programming languages, strings in Python


are arrays of bytes representing unicode characters. However, Python
does not have a character data type, a single character is simply a
string with a length of 1. Square brackets can be used to access
elements of the string.
a = "Hello, World!"
print(a[1])
b = "Hello, World!"
print(b[2:5])
Operations on String
The strip() method removes any whitespace from the
beginning or the end:
a = " Hello, World! "
print(a.strip()) # returns "Hello, World!"

The len() method returns the length of a string:


a = "Hello, World!"
print(len(a))

The lower() method returns the string in lower case:


a = "Hello, World!"
print(a.lower())
Operations on String

The upper() method returns the string in upper case:


a = "Hello, World!"
print(a.upper())

The replace() method replaces a string with another


string:
a = "Hello, World!"
print(a.replace("H", "J"))

The split() method splits the string into substrings if it


finds instances of the separator:
a = "Hello, World!"
print(a.split(",")) # returns ['Hello', ' World!'] as array
Command-line String Input
Python allows for command line input. That means we
are able to ask the user for input.

The following example asks for the user's name, then, by


using the input() method, the program prints the name
to the screen:

Example

print("Enter your name:")


x = input()
print("Hello, ", x)
Updating Strings
You can "update" an existing string by (re)assigning a
variable to another string. The new value can be related
to its previous value or to a completely different string
altogether. For example −

var1 = 'Hello World!'


print ("Updated String :- ", var1[:6] + 'Python‘)

When the above code is executed, it produces the


following result −
Updated String :- Hello Python
Escape Characters

Let’s say that we want to print the path to the


directory C:\nature. Consider what happens when we
try to print the path:

>>> print ("C:\nature")

In the example above, Python interpreted the \


n characters as special characters. These characters are
not meant to be displayed on the screen; they are used
to control the display. In our case, the \n characters
were interpreted as a new line.
Escape Characters

The backslash (\) character is used in Python to escape


special characters. So in our example, we would use the
following code to print the path:

>>> print ("C:\\nature")


C:\nature
Escape Characters
List of Escape characters
Backslash Hexadecimal
notation character Description
\a 0x07 Bell or alert
\b 0x08 Backspace
\cx Control-x
\C-x Control-x
\e 0x1b Escape
\f 0x0c Formfeed
\M-\C-x Meta-Control-x
Escape Characters

Backslash Hexadecimal
notation character Description
\n 0x0a Newline
Octal notation,
\nnn where n is in the
range 0.7
\r 0x0d Carriage return
\s 0x20 Space
\t 0x09 Tab
\v 0x0b Vertical tab
\x Character x
String Special Operators

Example
Operator Description a=“Hello” and b = “Python”
Concatenation - Adds values on
+ either side of the operator a + b will give HelloPython

Repetition - Creates new strings,


* concatenating multiple copies of a*2 will give -HelloHello
the same string
Slice - Gives the character from
[] the given index a[1] will give e
Range Slice - Gives the
[:] characters from the given range a[1:4] will give ell
String Special Operators
Example
Operator Description
Membership - Returns true if a
in character exists in the given stringH in a will give 1

Membership - Returns true if a


character does not exist in the
not in given string M not in a will give 1
String Formatting Operator
Format Symbol Conversion
%c character
%s string conversion via str() prior to formatting
%i signed decimal integer
%d signed decimal integer
%u unsigned decimal integer
%o octal integer
%x hexadecimal integer (lowercase letters)
%X hexadecimal integer (UPPERcase letters)

%e exponential notation (with lowercase 'e')

%E exponential notation (with UPPERcase 'E')


%f floating point real number
%g the shorter of %f and %e
%G the shorter of %f and %E
String Formatting Operator

Example

# This prints out "Ram is 20 years old."


name = "Ram"
age = 20
print("%s is %d years old." % (name, age))
Triple Quotes

Python's triple quotes comes to the rescue by allowing strings to


span multiple lines, including verbatim NEWLINEs, TABs, and any
other special characters.

The syntax for triple quotes consists of three consecutive single or


double quotes.

para_str = """this is a long string that is made up of several lines and


non-printable characters such as TAB ( \t ) and they will show up
that way when displayed. NEWLINEs within the string, whether
explicitly given like this within the brackets [ \n ], or just a
NEWLINE within the variable assignment will also show up. """

print para_str
Unicode String
Normal strings in Python are stored internally as 8-bit
ASCII, while Unicode strings are stored as 16-bit
Unicode.
This allows for a more varied set of characters, including
special characters from most languages in the world. I'll
restrict my treatment of Unicode strings to the following

print (u'Hello, world!')


Built-in String Methods
capitalize()
Capitalizes first letter of string

center(width, fillchar)
Returns a space-padded string with the original string centered to a total of width columns.

count(str, beg= 0,end=len(string))


Counts how many times str occurs in string or in a substring of string if starting index beg
and ending index end are given.

decode(encoding='UTF-8',errors='strict')
Decodes the string using the codec registered for encoding. encoding defaults to the default
string encoding.

encode(encoding='UTF-8',errors='strict')
Returns encoded string version of string; on error, default is to raise a ValueError unless errors
is given with 'ignore' or 'replace'.

endswith(suffix, beg=0, end=len(string))


Determines if string or a substring of string (if starting index beg and ending index end are
given) ends with suffix; returns true if so and false otherwise.
Built-in String Methods

expandtabs(tabsize=8)
Expands tabs in string to multiple spaces; defaults to 8 spaces per tab if tabsize not provided.

find(str, beg=0 end=len(string))


Determine if str occurs in string or in a substring of string if starting index beg and ending
index end are given returns index if found and -1 otherwise.
index(str, beg=0, end=len(string))
Same as find(), but raises an exception if str not found.
isalnum()
Returns true if string has at least 1 character and all characters are alphanumeric and false
otherwise.

isalpha()
Returns true if string has at least 1 character and all characters are alphabetic and false
otherwise.
isdigit()
Returns true if string contains only digits and false otherwise.
Built-in String Methods
islower()
Returns true if string has at least 1 cased character and all cased characters are in lowercase
and false otherwise.
isnumeric()
Returns true if a unicode string contains only numeric characters and false otherwise.
isspace()
Returns true if string contains only whitespace characters and false otherwise.
istitle()
Returns true if string is properly "titlecased" and false otherwise.
isupper()
Returns true if string has at least one cased character and all cased characters are in
uppercase and false otherwise.
join(seq)
Merges (concatenates) the string representations of elements in sequence seq into a string,
with separator string.
len(string)
Returns the length of the string
Built-in String Methods
ljust(width[, fillchar])
Returns a space-padded string with the original string left-justified to a total
of width columns.
lower()
Converts all uppercase letters in string to lowercase.
lstrip()
Removes all leading whitespace in string.
maketrans()
Returns a translation table to be used in translate function.
max(str)
Returns the max alphabetical character from the string str.
min(str)
Returns the min alphabetical character from the string str.
replace(old, new [, max])
Replaces all occurrences of old in string with new or at most max occurrences
if max given.
Built-in String Methods
rfind(str, beg=0,end=len(string))
Same as find(), but search backwards in string.
rindex( str, beg=0, end=len(string))
Same as index(), but search backwards in string.
rjust(width,[, fillchar])
Returns a space-padded string with the original string right-justified to a total of width columns.
rstrip()
Removes all trailing whitespace of string.
split(str="", num=string.count(str))
Splits string according to delimiter str (space if not provided) and returns list of substrings; split
into at most num substrings if given.
splitlines( num=string.count('\n'))
Splits string at all (or num) NEWLINEs and returns a list of each line with NEWLINEs removed.
startswith(str, beg=0,end=len(string))
Determines if string or a substring of string (if starting index beg and ending index end are
given) starts with substring str; returns true if so and false otherwise.
Built-in String Methods
strip([chars])
Performs both lstrip() and rstrip() on string.
swapcase()
Inverts case for all letters in string.
title()
Returns "titlecased" version of string, that is, all words begin with uppercase and the rest are
lowercase.
translate(table, deletechars="")
Translates string according to translation table str(256 chars), removing those in the del string.
upper()
Converts lowercase letters in string to uppercase.
zfill (width)
Returns original string leftpadded with zeros to a total of width characters; intended for
numbers, zfill() retains any sign given (less one zero).
isdecimal()
Returns true if a unicode string contains only decimal characters and false otherwise.
Python Collection

There are four collection data types in the Python


programming language:

• List - is a collection which is ordered and changeable.


Allows duplicate members.
• Tuple - is a collection which is ordered and
unchangeable. Allows duplicate members.
• Set - is a collection which is unordered and unindexed.
No duplicate members.
• Dictionary -is a collection which is unordered,
changeable and indexed. No duplicate members.
Python Lists

The list is a most versatile data type available in Python


which can be written as a list of comma-separated values
(items) between square brackets. Important thing about a
list is that items in a list need not be of the same type.

Creating a list is as simple as putting different comma-


separated values between square brackets. For example −

list1 = ['physics', 'chemistry', 1997, 2000]


list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
The list() Constructor

It is also possible to use the list() constructor to make a new


list.

Using the list() constructor to make a List:

thislist = list(("apple", "banana", "cherry"))


print(thislist)
Accessing Values in Lists

To access values in lists, use the square brackets for slicing


along with the index or indices to obtain value available at
that index. For example −

thislist = ["apple", "banana", "cherry"]


print(thislist[1])

This code show output as “banana”


Loop Through a List

You can loop through the list items by using a for loop:

thislist = ["apple", "banana", "cherry"]


for x in thislist:
print(x)
Updating Lists

You can update single or multiple elements of lists by giving


the slice on the left-hand side of the assignment operator,
and you can add to elements in a list with the append()
method. For example −

thislist = ["apple", "banana", "cherry"]


thislist[1] = "blackcurrant“
print(thislist)
Check if Item Exists

To determine if a specified item is present in a list use the in


keyword:

Check if "apple" is present in the list:

thislist = ["apple", "banana", "cherry"]


if "apple" in thislist:
print("Yes, 'apple' is in the fruits list")
List Methods

append() Method
The append() method appends an element to the end of the
list.

Add an element to the fruits list:


fruits = ['apple', 'banana', 'cherry']
fruits.append("orange")
List Methods

insert() Method
The insert() method inserts the specified value at the
specified position.

Insert the value "orange" as the second element of the fruit


list:

fruits = ['apple', 'banana', 'cherry']

fruits.insert(1, "orange")
List Methods
extend() Method
The extend() method adds the specified list elements (or any iterable)
to the end of the current list.
Add the elements of cars to the fruits list:
fruits = ['apple', 'banana', 'cherry']

cars = ['Ford', 'BMW', 'Volvo']

fruits.extend(cars)

Add a tuple to the fruits list:


fruits = ['apple', 'banana', 'cherry']
points = (1, 4, 5, 9)
fruits.extend(points)
List Methods

pop() Method
The pop() method removes the element at the specified
position.

Remove the second element of the fruit list:

fruits = ['apple', 'banana', 'cherry']

fruits.pop(1)

If index not specified then delete last node


List Methods

remove() Method
The remove() method removes the first occurrence of the
element with the specified value.

Remove the "banana" element of the fruit list:

fruits = ['apple', 'banana', 'cherry']

fruits.remove("banana")
List Methods

clear() Method
The clear() method removes all the elements from a
list.

Remove all elements from the fruits list:

fruits = ['apple', 'banana', 'cherry', 'orange']

fruits.clear()
Delete List Elements

To remove a list element, you can use either the del


statement if you know exactly which element(s) you are
deleting or the remove() method if you do not know. For
example −

list1 = ['physics', 'chemistry', 1997, 2000];


print (list1 )
del list1[2];
print ("After deleting value at index 2 : “\)
print (list1)
List Methods

reverse() Method
The reverse() method reverses the sorting order of the
elements

Reverse the order of the fruit list:

fruits = ['apple', 'banana', 'cherry']

fruits.reverse()

Output-['cherry', 'banana', 'apple']


List Methods

sort() Method
The sort() method sorts the list ascending by default.
You can also make a function to decide the sorting
criteria(s).
Syntax
list.sort(reverse=True|False, key=myFunc)

Sort the list alphabetically:


Parameter Description
cars = ['Ford', 'BMW', 'Volvo']
Optional. reverse=True will
reverse sort the list descending.
cars.sort() Default is reverse=False

Optional. A function to
key specify the sorting
criteria(s)
List Methods

sort() Method

Sort the list by the length of the values:

# A function that returns the length of the value:


def myFunc(e):
return len(e)

cars = ['Ford', 'Mitsubishi', 'BMW', 'VW']

cars.sort(key=myFunc)

Output- ['VW', 'BMW', 'Ford', 'Mitsubishi']


List Methods

sort() Method
Sort a list of dictionaries based on the "year" value of the
dictionaries:
# A function that returns the 'year' value:
def myFunc(e):
return e['year']
cars = [
{'car': 'Ford', 'year': 2005},
{'car': 'Mitsubishi', 'year': 2000},
{'car': 'BMW', 'year': 2019},
{'car': 'VW', 'year': 2011}
]
cars.sort(key=myFunc)
List Methods

copy() Method
The copy() method returns a copy of the specified list.

Copy the fruits list:


fruits = ['apple', 'banana', 'cherry', 'orange']

x = fruits.copy()
List Methods
count() Method
The count() method returns the number of elements with
the specified value.
Return the number of times the value "cherry" appears int
the fruits list:
fruits = ['apple', 'banana', 'cherry']
x = fruits.count("cherry")
Return the number of times the value 9 appears int the list:
points = [1, 4, 2, 9, 7, 8, 9, 3, 1]
x = points.count(9)
List Methods
index() Method
The index() method returns the position at the first
occurrence of the specified value.
What is the position of the value "cherry":

fruits = ['apple', 'banana', 'cherry']


x = fruits.index("cherry")
print(x)

What is the position of the value 32:


fruits = [4, 55, 64, 32, 16, 32]
x = fruits.index(32)
print(x)
List Methods

len(list)
It is used to calculate the length of the list.

max(list)
It returns the maximum element of the list.

min(list)
It returns the minimum element of the list.

list(seq)
It converts any sequence to the list.

You might also like