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

Tutorial 5

This document provides a tutorial on lists in Python. It discusses what lists are, how to create and access elements of lists, common list operations like length, membership testing, concatenation and repetition, slicing lists, mutability of lists, and various list methods. It also covers topics like nested lists, lists and strings, tuples, using lists as function parameters, list comprehensions, and references vs cloning of lists.

Uploaded by

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

Tutorial 5

This document provides a tutorial on lists in Python. It discusses what lists are, how to create and access elements of lists, common list operations like length, membership testing, concatenation and repetition, slicing lists, mutability of lists, and various list methods. It also covers topics like nested lists, lists and strings, tuples, using lists as function parameters, list comprehensions, and references vs cloning of lists.

Uploaded by

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

Programming

I
TUTORIAL 5
LISTS

 A list is a sequential collection of Python data values, where each value is


identified by an index.
 The values that make up a list are called its elements.
 Lists are similar to strings, which are ordered collections of characters,
except that the elements of a list can have any type and for any one list,
the items can be of different types.
Creating a list

vocabulary = ["iteration", "selection", "control"]


numbers = [17, 123]
empty = []
mixedlist = ["hello", 2.0, 5*2, [10, 20]]

print(numbers)
print(mixedlist)
newlist = [ numbers, vocabulary ]
print(newlist)
List length -> len()

alist = ["hello", 2.0, 5, [10, 20]]


print(len(alist))
print(len(['spam!', 1, ['Brie', 'Roquefort', 'Pol le Veq'], [1, 2, 3]]))
What is printed by the following
statements?

alist = [3, 67, "cat", [56, 57, "dog"], [ ], 3.14, False]


print(len(alist))
(A) 7
(B) 8
(C) 6
(D) 5
Accessing Elements

numbers = [17, 123, 87, 34, 66, 8398, 44]


print(numbers[2])
print(numbers[9 - 8])
print(numbers[-2])
print(numbers[len(numbers) - 1])
List Membership

fruit = ["apple", "orange", "banana", "cherry"]


print("apple" in fruit)
print("pear" in fruit)
What is printed by the following
statements?

alist = [3, 67, "cat", [56, 57, "dog"], [ ], 3.14, False]


print(57 in alist)
(A) True
(B) False
Concatenation and Repetition

fruit = ["apple", "orange", "banana", "cherry"]


print([1, 2] + [3, 4])
print(fruit + [6, 7, 8, 9])

print([0] * 4)
print([1, 2, ["hello", "goodbye"]] * 2)
list-6-1: What is printed by the following
statements?

alist = [1, 3, 5]
blist = [2, 4, 6]
print(alist + blist)
(A) 6
(B) [1, 2, 3, 4, 5, 6]
(C) [1, 3, 5, 2, 4, 6]
(D) [3, 7, 11]
list-6-2: What is printed by the following
statements?

alist = [1, 3, 5]
print(alist * 3)
(A) 9
(B) [1, 1, 1, 3, 3, 3, 5, 5, 5]
(C) [1, 3, 5, 1, 3, 5, 1, 3, 5]
(D) [3, 9, 15]
List Slices

a_list = ['a', 'b', 'c', 'd', 'e', 'f']


print(a_list[1:3])
print(a_list[:4])
print(a_list[3:])
print(a_list[:])
Lists are Mutable ( UNLIKE STRINGS!!!)

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


print(fruit)

fruit[0] = "pear"
fruit[-1] = "orange"
print(fruit)
alist = ['a', 'b', 'c', 'd', 'e', 'f']
alist[1:3] = ['x', 'y']
print(alist)
List Deletion – del
Objects and references
Aliasing

alist = [4, 2, 8, 6, 5]
blist = alist
blist[3] = 999
print(alist)

(A) [4, 2, 8, 6, 5]
(B) [4, 2, 8, 999, 5]
Cloning
list-13-1: What is printed by the following
statements?

alist = [4, 2, 8, 6, 5]
blist = alist * 2
blist[3] = 999
print(alist)

(A) [4, 2, 8, 999, 5, 4, 2, 8, 6, 5]


(B) [4, 2, 8, 999, 5]
(C) [4, 2, 8, 6, 5]
List methods
List Methods
 list-16-1: What is printed by the following statements?

 alist = [4, 2, 8, 6, 5]
 alist = alist + 999
 print(alist)
 (A) [4, 2, 8, 6, 5, 999]
 (B) Error, you cannot concatenate a list with an integer.
FOR loop

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


for afruit in fruits: # by item
print(afruit)

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


for position in range(len(fruits)): # by index
print(fruits[position])
What is printed by the following statements?

alist = [4, 2, 8, 6, 5]
blist = [ ]
for item in alist:
blist.append(item+5)
print(blist)
(A) [4, 2, 8, 6, 5]
(B) [4, 2, 8, 6, 5, 5]
(C) [9, 7, 13, 11, 10]
(D) Error, you cannot concatenate inside an append.
Lists as parameters
Pure functions
Assume you already have a function is_prime(x)
that can test if x is prime. Now, write a function to
return a list of all prime numbers less than n:

def primes_upto(n):
""" Return a list of all prime numbers less than n. """
result = []
for i in range(2, n):
if is_prime(i):
result.append(i)
return result
List comprehension
 list-22-1: What is printed by the following statements?

 alist = [4,2,8,6,5]
 blist = [num*2 for num in alist if num%2==1]
 print(blist)
 (A) [4,2,8,6,5]
 (B) [8,4,16,12,10]
 (C) 10
 (D) [10]
Nested lists

 list-23-1: What is printed by the following statements?

 alist = [ [4, [True, False], 6, 8], [888, 999] ]


 if alist[0][1][0]:
 print(alist[1][0])
 else:
 print(alist[1][1])
 (A) 6
 (B) 8
 (C) 888
 (D) 999
Lists and strings
Lists and strings

ist-24-1: What is printed by the following statements?

myname = "Edgar Allan Poe"


namelist = myname.split()
init = ""
for aname in namelist:
init = init + aname[0]
print(init)
(A) Poe
(B) EdgarAllanPoe
(C) EAP
(D) William Shakespeare
List type
Tuples

 A tuple, like a list, is a sequence of items of any type. Unlike lists, however,
tuples are immutable. Syntactically, a tuple is a comma-separated
sequence of values. Although it is not necessary, it is conventional to
enclose tuples in parentheses:

 julia = ("Julia", "Roberts", 1967, "Duplicity", 2009, "Actress", "Atlanta,


Georgia")
TupleReturn Value
References
Create a list called myList with the following six items: 76,
92.3, “hello”, True, 4, 76. Do it with both append and with
concatenation, one item at a time.
a) Add ‚apple‘
b) add cat on position 3
c) add 99 on position 0
d) find index of ‚hello‘
e) count 76 in list
f) remove 76
g) pop True from the list
 myList = [76, 92.3, 'hello', True, 4, 76]

 myList.append("apple") #a
 myList.insert(3, "cat") #b
 myList.insert(0, 99) #c

 print(myList.index("hello")) # d
 print(myList.count(76)) #e
 myList.remove(76) #f
 myList.pop(myList.index(True)) # g

 print (myList)
 Create a list containing 100 random integers between 0 and 1000 (use iteration,
append, and the random module). Write a function called average that will take the list
as a parameter and return the average.
 Write a Python function that will take a the list of 100 random integers between 0 and 1000
and return the maximum value. (Note: there is a builtin function named max but pretend
you cannot use it.)
Write a function sum_of_squares(xs) that computes the
sum of the squares of the numbers in the list xs. For
example, sum_of_squares([2, 3, 4]) should return 4+9+16
which is 29:
Write a function to count how many
odd numbers are there in a list
Sum up all the even numbers in a list.
Sum up all the negative numbers in a
list.
Count how many words in a list have
length 5.
Sum all the elements in a list up to but not
including the first even number.

You might also like