List , tuples, dictionaries and regular expressions in python
This document provides an overview of lists, dictionaries, and tuples in Python. It covers list creation, manipulation methods, and operations such as slicing, concatenation, and membership checking, alongside dictionary characteristics and usage examples. Additionally, it contrasts lists and strings, explains tuples, and introduces basic text parsing techniques.
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.
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.
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
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()
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.
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.
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]
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.
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.
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')