List, Dictionaries, Tuples & Regular
expressions
Presented by:
U.Channabasava
Assistant Professor
List
• List is a sequence of values can be of any data type.
• List elements are enclosed with [ and ].
• List are mutable, meaning, their elements can be
changed.
Exemple:
ls1=[10,-4, 25, 13]
ls2=[“Tiger”, “Lion”, “Cheetah”]
ls3=[3.5, ‘Tiger’, 10, [3,4]]
Creating List
• List is created by placing all the items (elements) inside a
square bracket [ ], separated by commas.
• It can have any number of items and they may be of different
types (integer, float, string etc.).
• Two methods are used to create a list
• Without constructor
• Using list constructor
• The elements in the list can be accessed using a numeric index within
square-brackets.
• It is similar to extracting characters in a string.
Lists are Mutable
Accessing elements of a list
• Index operator [] is used to access an item in a list. Index starts from 0.
marks=[90,80,50,70,60]
print(marks[0])
Output:
90
Nested list:
my_list = [“welcome", [8, 4, 6]]
Print(my_list [1][0])
Output:
8
in operator
The in operator applied on lists will results in a Boolean value.
>>> ls=[34, 'hi', [2,3],-5]
>>> 34 in ls
True
>>> -2 in ls
False
Traversing a list
• The most common way to traverse the elements of a list is with a for
loop.
List elements can be accessed with the combination of range() and
len() functions as well
List Operations
• Slicing [::] (i.e) list[start:stop:step]
• Concatenation = +
• Repetition= *
• Membership = in
List Slices
• Similar to strings, the slicing can be applied on lists as well.
List Methods
• There are several built-in methods in list class for various purposes.
• Some of the functions are
• append()
• extend()
• sort()
• reverse()
• count()
• clear()
• insert()
• index()
append()
• This method is used to add a new element at the end of a list.
extend(arg)
• This method takes a list as an argument and all the elements in this
list are added at the end of invoking list.
sort()
• This method is used to sort the contents of the list. By default, the
function will sort the items in ascending order.
• reverse(): This method can be used to reverse the given list.
• count(): This method is used to count number of occurrences of a
particular value within list.
clear(): This method removes all the elements in the list
and makes the list empty.
insert(pos,value): Used to insert a value before a specified
index of the list.
• index( value, start, end): This method is used to get the index
position of a particular value in the list.
Few important points about List Methods
• There is a difference between append() and extend() methods.
• The former adds the argument as it is, whereas the latter enhances
the existing list.
append() extend()
• The sort() function can be applied only when the list contains
elements of compatible types.
• Similarly, when a list contains integers and sub-list, it will be an error.
• Most of the list methods like append(), extend(), sort(),
reverse() etc. modify the list object internally and return
None.
• List can sort for int and float type
Deleting Elements
• Elements can be deleted from a list in different ways.
• Python provides few built-in methods for removing elements as given
below
• pop()
• remove()
• del
• pop(): This method deletes the last element in the list, by default.
element at a particular index position has to be deleted
• remove(): When we don’t know the index, but know the value to be
removed, then this function can be used.
• Note that, this function will remove only the first occurrence of the
specified value, but not all occurrences.
del: This is an operator to be used when more than one item
to be deleted at a time.
• Deleting all odd indexed elements of a list –
Lists and Functions
• The utility functions like max(), min(), sum(), len() etc. can be used on
lists.
• Hence most of the operations will be easy without the usage of loops.
Lists and Strings
• Though both lists and strings are sequences, they are not same.
>>> s="hello"
>>> ls=list(s)
>>> print(ls)
['h', 'e', 'l', 'l', 'o']
• The method list() breaks a string into individual letters and constructs
a list.
• when no argument is provided, the split() function takes the
delimiter as white space.
• If we need a specific delimiter for splitting the lines, we can use
as shown bellow
• There is a method join() which behaves opposite to split() function.
• It takes a list of strings as argument, and joins all the strings into a
single string based on the delimiter provided.
Parsing lines
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008
Objects and values
>>> a = 'banana'
>>> b = 'banana'
>>> a is b
True
two variables refer to the same object
>>> a='kssem'
>>> b='kssem'
>>> a is b
True
But when you create two lists, you get two objects:
• Two lists are equivalent, because they have the same elements, but
not identical, because they are not the same object.
Aliasing
>>> a = [1, 2, 3]
>>> b = a
>>> b is a
True
• The association of a variable with an object is called as reference.
• b is said to be reference of a
>>> b[2]=100
>>> b
[1, 2, 100]
>>> a
[1, 2, 100]
List Arguments
Dictionaries
• A dictionary is a collection of unordered set of key:value pairs with
the requirement that keys are unique in one dictionary.
• The indices can be (almost) any type.
• len(d)
• ‘mango' in d
True
Dictionary as a Set of Counters
“count the frequency of alphabets in a given string”
There are different methods to do it –
• Create 26 variables to represent each alphabet.
• Create a list with 26 elements representing alphabets.
• Create a dictionary with characters as keys and counters as values.
Dictionaries and files
• One of the common uses of a dictionary is to count the occurrence of
words in a file with some written text.
Looping and dictionaries
• If you use a dictionary as the sequence in a for statement, it traverses
the keys of the dictionary.
counts = { 'chuck' : 1 , 'annie' : 42, 'jan': 100}
for k in counts:
print(k, counts[k])
counts = { 'chuck' : 1 , 'annie' : 42, 'jan': 100}
for key in counts:
if counts[key] > 10 :
print(key, counts[key])
print the keys in alphabetical order
counts = { 'chuck' : 1 , 'annie' : 42, 'jan': 100}
lst = list(counts.keys())
print(lst)
lst.sort()
for key in lst:
print(key, counts[key])
Advanced text parsing
But, soft! what light through yonder window breaks?
It is the east, and Juliet is the sun.
Arise, fair sun, and kill the envious moon,
Who is already sick and pale with grief,
• split function looks for spaces and treats words as tokens separated
by spaces
Ex: “hi how r u”
• we would treat the words “soft!” and “soft” as different words and
create a separate dictionary entry for each word.
• Also since the file has capitalization, we would treat “who” and
“Who” as different words with different counts.
• We can solve both these problems by using the string methods lower,
punctuation and translate.
line.translate(str.maketrans(fromstr, tostr, deletestr))
Tuples
• A tuple is a sequence of values much like a list.
• The values stored in a tuple can be any type, and they are indexed by
integers.
• The important difference is that tuples are immutable.
Ex:
t = 'a', 'b', 'c', 'd', 'e‘
t = ('a', 'b', 'c', 'd', 'e')
>>> t = tuple()
>>> print(t)
()

List , tuples, dictionaries and regular expressions in python

  • 1.
    List, Dictionaries, Tuples& Regular expressions Presented by: U.Channabasava Assistant Professor
  • 2.
    List • List isa sequence of values can be of any data type. • List elements are enclosed with [ and ]. • List are mutable, meaning, their elements can be changed.
  • 3.
    Exemple: ls1=[10,-4, 25, 13] ls2=[“Tiger”,“Lion”, “Cheetah”] ls3=[3.5, ‘Tiger’, 10, [3,4]]
  • 4.
    Creating List • Listis created by placing all the items (elements) inside a square bracket [ ], separated by commas. • It can have any number of items and they may be of different types (integer, float, string etc.). • Two methods are used to create a list • Without constructor • Using list constructor
  • 6.
    • The elementsin the list can be accessed using a numeric index within square-brackets. • It is similar to extracting characters in a string.
  • 7.
  • 8.
    Accessing elements ofa list • Index operator [] is used to access an item in a list. Index starts from 0. marks=[90,80,50,70,60] print(marks[0]) Output: 90 Nested list: my_list = [“welcome", [8, 4, 6]] Print(my_list [1][0]) Output: 8
  • 10.
    in operator The inoperator applied on lists will results in a Boolean value. >>> ls=[34, 'hi', [2,3],-5] >>> 34 in ls True >>> -2 in ls False
  • 11.
    Traversing a list •The most common way to traverse the elements of a list is with a for loop.
  • 12.
    List elements canbe accessed with the combination of range() and len() functions as well
  • 13.
    List Operations • Slicing[::] (i.e) list[start:stop:step] • Concatenation = + • Repetition= * • Membership = in
  • 15.
    List Slices • Similarto strings, the slicing can be applied on lists as well.
  • 18.
    List Methods • Thereare several built-in methods in list class for various purposes. • Some of the functions are • append() • extend() • sort() • reverse() • count() • clear() • insert() • index()
  • 19.
    append() • This methodis used to add a new element at the end of a list.
  • 20.
    extend(arg) • This methodtakes a list as an argument and all the elements in this list are added at the end of invoking list.
  • 21.
    sort() • This methodis used to sort the contents of the list. By default, the function will sort the items in ascending order.
  • 22.
    • reverse(): Thismethod can be used to reverse the given list. • count(): This method is used to count number of occurrences of a particular value within list.
  • 23.
    clear(): This methodremoves all the elements in the list and makes the list empty. insert(pos,value): Used to insert a value before a specified index of the list.
  • 24.
    • index( value,start, end): This method is used to get the index position of a particular value in the list.
  • 25.
    Few important pointsabout List Methods • There is a difference between append() and extend() methods. • The former adds the argument as it is, whereas the latter enhances the existing list. append() extend()
  • 26.
    • The sort()function can be applied only when the list contains elements of compatible types. • Similarly, when a list contains integers and sub-list, it will be an error.
  • 27.
    • Most ofthe list methods like append(), extend(), sort(), reverse() etc. modify the list object internally and return None. • List can sort for int and float type
  • 28.
    Deleting Elements • Elementscan be deleted from a list in different ways. • Python provides few built-in methods for removing elements as given below • pop() • remove() • del
  • 29.
    • pop(): Thismethod deletes the last element in the list, by default. element at a particular index position has to be deleted
  • 30.
    • remove(): Whenwe don’t know the index, but know the value to be removed, then this function can be used. • Note that, this function will remove only the first occurrence of the specified value, but not all occurrences.
  • 31.
    del: This isan operator to be used when more than one item to be deleted at a time.
  • 32.
    • Deleting allodd indexed elements of a list –
  • 33.
    Lists and Functions •The utility functions like max(), min(), sum(), len() etc. can be used on lists. • Hence most of the operations will be easy without the usage of loops.
  • 35.
    Lists and Strings •Though both lists and strings are sequences, they are not same. >>> s="hello" >>> ls=list(s) >>> print(ls) ['h', 'e', 'l', 'l', 'o'] • The method list() breaks a string into individual letters and constructs a list.
  • 36.
    • when noargument is provided, the split() function takes the delimiter as white space. • If we need a specific delimiter for splitting the lines, we can use as shown bellow
  • 37.
    • There isa method join() which behaves opposite to split() function. • It takes a list of strings as argument, and joins all the strings into a single string based on the delimiter provided.
  • 38.
  • 39.
    Objects and values >>>a = 'banana' >>> b = 'banana' >>> a is b True two variables refer to the same object >>> a='kssem' >>> b='kssem' >>> a is b True
  • 40.
    But when youcreate two lists, you get two objects: • Two lists are equivalent, because they have the same elements, but not identical, because they are not the same object.
  • 41.
    Aliasing >>> a =[1, 2, 3] >>> b = a >>> b is a True • The association of a variable with an object is called as reference. • b is said to be reference of a >>> b[2]=100 >>> b [1, 2, 100] >>> a [1, 2, 100]
  • 42.
  • 43.
    Dictionaries • A dictionaryis a collection of unordered set of key:value pairs with the requirement that keys are unique in one dictionary. • The indices can be (almost) any type.
  • 45.
  • 46.
    Dictionary as aSet of Counters “count the frequency of alphabets in a given string” There are different methods to do it – • Create 26 variables to represent each alphabet. • Create a list with 26 elements representing alphabets. • Create a dictionary with characters as keys and counters as values.
  • 49.
    Dictionaries and files •One of the common uses of a dictionary is to count the occurrence of words in a file with some written text.
  • 51.
    Looping and dictionaries •If you use a dictionary as the sequence in a for statement, it traverses the keys of the dictionary. counts = { 'chuck' : 1 , 'annie' : 42, 'jan': 100} for k in counts: print(k, counts[k])
  • 52.
    counts = {'chuck' : 1 , 'annie' : 42, 'jan': 100} for key in counts: if counts[key] > 10 : print(key, counts[key])
  • 53.
    print the keysin alphabetical order counts = { 'chuck' : 1 , 'annie' : 42, 'jan': 100} lst = list(counts.keys()) print(lst) lst.sort() for key in lst: print(key, counts[key])
  • 54.
    Advanced text parsing But,soft! what light through yonder window breaks? It is the east, and Juliet is the sun. Arise, fair sun, and kill the envious moon, Who is already sick and pale with grief,
  • 55.
    • split functionlooks for spaces and treats words as tokens separated by spaces Ex: “hi how r u” • we would treat the words “soft!” and “soft” as different words and create a separate dictionary entry for each word. • Also since the file has capitalization, we would treat “who” and “Who” as different words with different counts. • We can solve both these problems by using the string methods lower, punctuation and translate.
  • 56.
  • 57.
    Tuples • A tupleis a sequence of values much like a list. • The values stored in a tuple can be any type, and they are indexed by integers. • The important difference is that tuples are immutable. Ex: t = 'a', 'b', 'c', 'd', 'e‘ t = ('a', 'b', 'c', 'd', 'e')
  • 58.
    >>> t =tuple() >>> print(t) ()