2-3.3 Intro Python

The Power of List Iteration

  • for in: for loop using in
  • for range: for range(start,stop,step)
  • more list methods: .extend(), +, .reverse(), .sort()
  • strings to lists, .split(), and list to strings, .join()

> Student will be able to

  • Iterate through Lists using for with in
  • Use for range() in looping operations
  • Use list methods .extend(), +, .reverse(), .sort()
  • convert between lists and strings using .split() and .join()

 

Concepts

Combine Lists

view video

+ list addition

.extend() list method

combine lists with + and .extend()

visited_cities = ["New York", "Shanghai", "Munich", "Toyko", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]
wish_cities = ["Reykjavík", "Moscow", "Beijing", "Lamu"]
# combine in a new list
all_cities = visited_cities + wish_cities

# add a list to an existing list
visitied_cities.extend(wish_cities)

 

Examples

In [1]:
# [ ] review and run example
visited_cities = ["New York", "Shanghai", "Munich", "Toyko", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]
wish_cities = ["Reykjavík", "Moscow", "Beijing", "Lamu"]

# .extend() 
# extending visited_cities list (IN PLACE) by concatenating wish_cities
visited_cities.extend(wish_cities)
print("ALL CITIES",visited_cities)
ALL CITIES ['New York', 'Shanghai', 'Munich', 'Toyko', 'Dubai', 'Mexico City', 'São Paulo', 'Hyderabad', 'Reykjavík', 'Moscow', 'Beijing', 'Lamu']
In [2]:
# [ ] review and run example
visited_cities = ["New York", "Shanghai", "Munich", "Toyko", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]
wish_cities = ["Reykjavík", "Moscow", "Beijing", "Lamu"]

# (+) Addition operator for lists creates a (NEW) combined List
all_cities = visited_cities + wish_cities

print("ALL CITIES")
for city in all_cities:
    print(city)
ALL CITIES
New York
Shanghai
Munich
Toyko
Dubai
Mexico City
São Paulo
Hyderabad
Reykjavík
Moscow
Beijing
Lamu
In [3]:
# [ ] review and run example
team_a = [0,2,2,2,4,4,4,5,6,6,6]
team_b = [0,0,0,1,1,2,3,3,3,6,8]
print("Team A:", team_a, "\nTeam B:",team_b)

# (+) Addition operator 
team_totals = team_a + team_b
print("Team Totals", team_totals)
Team A: [0, 2, 2, 2, 4, 4, 4, 5, 6, 6, 6] 
Team B: [0, 0, 0, 1, 1, 2, 3, 3, 3, 6, 8]
Team Totals [0, 2, 2, 2, 4, 4, 4, 5, 6, 6, 6, 0, 0, 0, 1, 1, 2, 3, 3, 3, 6, 8]
In [6]:
# [ ] review and run example after running cell above
# .extend() 
team_a.extend(team_b)
print("Team_a extended", team_a)

# what happens if you keep running this cell?
Team_a extended [0, 2, 2, 2, 4, 4, 4, 5, 6, 6, 6, 0, 0, 0, 1, 1, 2, 3, 3, 3, 6, 8, 0, 0, 0, 1, 1, 2, 3, 3, 3, 6, 8, 0, 0, 0, 1, 1, 2, 3, 3, 3, 6, 8]

 

Task 1

combine lists

In [7]:
# [ ] extend the list common_birds with list birds_seen which you must create
common_birds = ["chicken", "blue jay", "crow", "pigeon"]

#Answer:
birds_seen = ['Parrot','Eagle','Falcon']
common_birds.extend(birds_seen)
print('extended common_birds = ', common_birds)
extended common_birds =  ['chicken', 'blue jay', 'crow', 'pigeon', 'Parrot', 'Eagle', 'Falcon']
In [8]:
# [ ] Create 2 lists zero_nine and ten_onehundred that contain 1-9, and 10 - 100 by 10's.
# [ ] use list addition to concatenate the lists into all_num and print

#Answer:
zero_nine = list(range(0,10))
ten_onehundred = list(range(10,101,10))
all_num = zero_nine + ten_onehundred
print('All Numbers = ',all_num)
All Numbers =  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

 

Concepts

.reverse() : reverse a list in place

view video

cities_1 = ["Dubai", "Mexico City", "São Paulo", "Hyderabad"]

print("regular", cities_1)
cities_1.reverse()
print("reversed", cities_1)

 

Examples

In [9]:
# [ ] review and run example
cities_1 = ["Dubai", "Mexico City", "São Paulo", "Hyderabad"]

print("regular", cities_1)
cities_1.reverse()
print("reversed", cities_1)
regular ['Dubai', 'Mexico City', 'São Paulo', 'Hyderabad']
reversed ['Hyderabad', 'São Paulo', 'Mexico City', 'Dubai']
In [10]:
# [ ] review and run example
all_num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
print("regular list",all_num, "\n")
all_num.reverse()
print("reverse list",all_num, "\n")
num_len = len(all_num)

print("Three Multiple")
for num in all_num:
    if num/3 == int(num/3):
        print(num)
    else:
        pass
    
regular list [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 

reverse list [100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] 

Three Multiple
90
60
30
9
6
3
0
In [11]:
# [ ] review and run example
# create a list of  numbers by casting a range 
count_list = list(range(21))
print("before list", count_list)

# and reverse
count_list.reverse()
print("after list", count_list)
before list [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
after list [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

 

Task 2

.reverse()

In [12]:
# [ ] create and  print a list of multiples of 5 from 5 to 100
# { ] reverse the list and print

#Answer:
multiply_five = list(range(5,101,5))
print('multiply_five list = ',multiply_five)
multiply_five.reverse()
print('multiply_five list reversed = ',multiply_five)
multiply_five list =  [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
multiply_five list reversed =  [100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5]
In [20]:
# [ ] Create two lists: fours & more_fours containing multiples of four from 4 to 44
# [ ] combine and print so that the output is mirrored [44, 40,...8, 4, 4, 8, ...40, 44]


#Answer:
fours = list(range(4,45,4))
more_fours = list(range(4,45,4))
more_fours.reverse()
print("fours mirrored = ",more_fours+fours)
fours mirrored more_fours =  [44, 40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44]

 

Concepts

.sort() and sorted()

view video

.sort() in place

.sort() - orders a list in place

quiz_scores = [20, 19, 20, 15, 20, 20, 20, 18, 18, 18, 19]
quiz_scores.sort()

sorted() copy

sorted() - creates an ordered list copy

game_points = [3, 14, 0, 8, 21, 1, 3, 8]
sorted_points = sorted(game_points)

 

Examples

.sort() and sorted()

In [22]:
# [ ] review and run example
quiz_scores = [20, 19, 20, 15, 20, 20, 20, 18, 18, 18, 19]

# use .sort()
quiz_scores.sort()

print("quiz_scores:", quiz_scores)
quiz_scores: [15, 18, 18, 18, 19, 19, 20, 20, 20, 20, 20]
In [23]:
# [ ] review and run example
game_points = [3, 14, 0, 8, 21, 1, 3, 8]

# use sorted()
sorted_points = sorted(game_points)

print("game_points:", game_points)
print("sorted_points:", sorted_points)
game_points: [3, 14, 0, 8, 21, 1, 3, 8]
sorted_points: [0, 1, 3, 3, 8, 8, 14, 21]
In [24]:
# [ ] review and run example
cities_1 = ["Dubai", "Mexico City", "São Paulo", "Hyderabad"]

print("Unsorted", cities_1)
cities_1.sort()
print("Sorted", cities_1)
Unsorted ['Dubai', 'Mexico City', 'São Paulo', 'Hyderabad']
Sorted ['Dubai', 'Hyderabad', 'Mexico City', 'São Paulo']

 

Task 3

.sort() & sorted()

In [25]:
# [ ] print cites from visited_cities list in alphbetical order using .sort()
# [ ] only print cities that names start "Q" or earlier
visited_cities = ["New York", "Shanghai", "Munich", "Toyko", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]

#Answer:
visited_cities.sort()
print(visited_cities)
['Dubai', 'Hyderabad', 'Mexico City', 'Munich', 'New York', 'Shanghai', 'São Paulo', 'Toyko']
In [26]:
# [ ] make a sorted copy (sorted_cities) of visited_cities list
# [ ] remove city names 5 characters or less from sorted_cities 
# [ ] print visitied cites and sorted cities
visited_cities = ["New York", "Shanghai", "Munich", "Tokyo", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]

#Answer:
sorted_cities = sorted(visited_cities)
for city in sorted_cities:
    if len(city) <= 5:
        sorted_cities.remove(city)
print('visited_cities ',visited_cities)
print('sorted_cities ',sorted_cities)
visited_cities  ['New York', 'Shanghai', 'Munich', 'Toyko', 'Dubai', 'Mexico City', 'São Paulo', 'Hyderabad']
sorted_cities  ['Hyderabad', 'Mexico City', 'Munich', 'New York', 'Shanghai', 'São Paulo']

 

Task 4

Program: Merge & Sort Animals

Create a program that

  • takes user to build a list: add_animals
  • merges add_anmials with exisiting list: anmimals
  • provides a sorted list to view in alpa or reverse alpha order

step 1 get user input to build add_animals list

In [27]:
# [ ] build a list (add_animals) using a while loop, stop adding when an empty string is entered
#add_animals = []

#Answer:
add_animals = []
while True:
    animal = input('Type animal name: ')
    if (len(animal)==0):
        break
    add_animals.append(animal)
    
Type animal name: Lion
Type animal name: Tiger
Type animal name: Elephant
Type animal name: 

step 2 Merge the lists: add_animals into animals

In [29]:
# [ ] extend the lists into animals, then sort 
animals = ["Chimpanzee", "Panther", "Wolf", "Armadillo"]

#Answer:
animals.extend(add_animals)
animals.sort()
print("animals = ",animals)
animals =  ['Armadillo', 'Chimpanzee', 'Elephant', 'Lion', 'Panther', 'Tiger', 'Wolf']

step 3 Allow animals list to be viewed alpha or reverse alpha order

In [33]:
# [ ] get input if list should be viewed alpha or reverse alpha and display list

#Answer:
viewed = "a"
viewed = input("Type how you want to view the animal, alpha(a) or reverse(r)")
if (viewed.lower()=='a'):
    print("sorted alpha",sorted(animals))
else:
    sorted(animals).reverse()
    print("reversed alpha",animals)
    
Type how you want to view the animal, alpha(a) or reverse(r)a
sorted alpha ['Armadillo', 'Chimpanzee', 'Elephant', 'Lion', 'Panther', 'Tiger', 'Wolf']
In [ ]:
 

Terms of use   Privacy & cookies   © 2017 Microsoft