Unit 1 - Lists, tuples and dictionary
CBSE Revision Notes
Class-11 Computer Science (New Syllabus)
Unit 1: Programming and Computational Thinking (PCT-1)
Lists, tuples and dictionary
In this section we’ll discuss lists, tuples and dictionary
Lists: Lists are the most versatile of Python's compound data types. A list contains items
separated by commas and enclosed within square brackets ([]). To some extent, lists are similar to arrays in C. One of the differences between them is that all the items belonging to a list can be of different data type. The values stored in a list can be accessed using the slice operator ([ ] and [:]) with indexes starting at 0 in the beginning of the list and working their way to end -1. The plus (+) sign is the list concatenation operator, and the asterisk (*) is the repetition operator. Let’s understand this with an example
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print (list) # Prints complete list
print (list[0]) # Prints first element of the list
print (list[1:3]) # Prints elements starting from 2nd till 3rd
print (list[2:]) # Prints elements starting from 3rd element
print (tinylist * 2) # Prints list two times
print (list + tinylist) # Prints concatenated lists
Maximum number from the list program: There are 2 ways to do this program
- Using inbuilt function called max
- Using loops
We will do this program from both ways
Using inbuilt function
list=[10,8,99,22,11,5] #initializing list
maximum=max(list) #it will return maximum number from the list
print("Maximum number from the list is",maximum)
Using loops:
list=[10,22,1,98,2,43,100]
maximum=list[0] #putting the first value of list into variable maximum
for i in range(0, len(list)): #iterating through the list from 0 to total length of the list
if list[i]>maximum: #checking if next number is greater than the number saved
maximum=list[i] #if yes then put that value into maximum
print ("Largest number from the list is ",maximum) #print the value
Minimum number from the list: We’ll also do this program using both the methods
Using inbuilt function:
list=[10,8,99,22,11,5] #initializing list
minimum=min(list) #it will return minimum number from the list
print("minimum number from the list is",minimum)
Using loop:
list=[10,22,1,98,2,43,100]
minimum=list[0] #putting the first value of list into variable minimum
for i in range(0, len(list)): #iterating through the list from 0 to total length of the list
if list[i]<minimum: #checking if next number is smaller than the number saved
minimum=list[i] #if yes then put that value into minimun
print ("Smallest number from the list is ",minimum) #print the value
Mean of numbers program:
list=[2,44,12,53,22]
sum=0
for i in range(0,len(list)):
sum=sum+list[i] #it will add all the items from the list
mean=sum/len(list) #to find the mean sum of items is divided by total number of items
print("Mean of numbers is ", mean)
Linear search:
list=[11,22,3,112,98,45,1]
print("Enter number you want to search")
num=eval(input()) #user enters the number he wants to search
flag=False
for i in range(0,len(list)): #iterates through the list
#checks every element with the number user entered if its equal it will print the message
if list[i]==num:
print("Number found")
flag=True #flag will set to true and will break the loop
break
if flag==False: #if flag is still false means number is not found
print("Number not found")
Tuples: Tuple is a sequence of immutable Python objects. Tuples are sequences, just like Lists. The main difference between the tuples and the lists is that the tuples cannot be changed unlike lists. Tuples use parentheses whereas lists use square brackets. let’s see how to create a tuple
tup1=("physics", "chemistry","biology",2012)
tup2=(1,2,3,4,5,6)
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
when the above program will be executed it will give following result
tup1[0]: 'physics'
tup2[1:5]: (2, 3, 4, 5)
Maximum number from the Tuple program: This can also be done using 2 methods
- Using inbuilt function called max
- Using loops
You’ll notice lists and tuple are almost same.
Using inbuilt function
tup=(10,8,99,22,11,5) #initializing tuple
maximum=max(tup) #it will return maximum number from the tuple
print("Maximum number from the tuple is",maximum)
Using loops:
tup=(10,22,1,98,2,43,100)
maximum=tup[0] #putting the first value of tuple into variable maximum
for i in range(0, len(tup)): #iterating through the tuple from 0 to total length of the tuple
if tup[i]>maximum: #checking if next number is greater than the number saved
maximum=tup[i] #if yes then put that value into maximum
print ("Largest number from the tuple is ",maximum) #print the value
Minimum number from the tuple:
Using inbuilt function:
tup=[10,8,99,22,11,5] #initializing tup
minimum=min(tup) #it will return minimum number from the tuple
print("minimum number from the tuple is",minimum)
Using loop:
tup=(10,22,1,98,2,43,100)
minimum=tup[0] #putting the first value of tuple into variable minimum
for i in range(0, len(tup)): #iterating through the tuple from 0 to total length of the tuple
if tup[i]<minimum: #checking if next number is smaller than the number saved
minimum=tup[i] #if yes then put that value into minimum
print ("Smallest number from the tuple is ",minimum) #print the value
Mean of numbers program:
tup=(2,44,12,53,22)
sum=0
for i in range(0,len(tup)):
sum=sum+tup[i] #it will add all the items from the tup
mean=sum/len(tup) #to find the mean sum of items is divided by total number of items
print("Mean of numbers is ", mean)
Linear search:
tup=(11,22,3,112,98,45,1)
print("Enter number you want to search")
num=eval(input()) #user enters the number he wants to search
flag=False
for i in range(0,len(tup)): #iterates through the tuple
if tup[i]==num: #checks every element with the number user entered if its equal it will print the message
print("Number found")
flag=True #flag will set to true and will break the loop
break
if flag==False: #if flag is still false means number is not found
print("Number not found")
Dictionary: Dictionary is a comma separated pair of key and value enclosed in curly braces. Each key is separated from its value by a colon [:]. Empty dictionary without any item is written with just two curly braces. Keys are unique in dictionary while values may not be. The values of a dictionary can be of any type. Key must be of immutable data type such as string, numbers or tuples. Let’s see an example of dictionary
dict= {‘Name’ : ’Mehak’, ‘Age’ : 15 ‘class’ : ‘10th’ }
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
Result of above example will be:
dict[‘Name’]: Mehak
dict[‘Age’]: 15
Basically these age name and class are keys and we can access the value associated with it using these keys.
Counting the frequency of elements in a list using a dictionary:
#initializing list
names = ['Physics', 'Chemistry', 'Physics', 'Biology', 'Math', 'Biology', 'Biology', 'Math', 'Chemistry']
d = {} #creating empty dictionary
for key in range(0,len(names)): #this loop will iterate through the list
count=0 #count will count the number of appearance of words
flag=False #flag will check if that word has already been counted or not
name = names[key]
for i in range(key, len(names)): #this loop will help us to compare the word with rest of the words in the list
if name not in d: #if name doesn't exist in the dictionary
d[name] = [] #it will add name to the dictionary
flag=True #this flag will indicate it is the first time that word has appeared
if name == names[i] and flag==True: #in this we'll check if name appears again in the list and is it for the ist time we are checking it
count+=1 #if it appears again count will increase
d[name]=count #and it will add count to that name
print(d) #displaying dictionary