Lists – Indexing and Sorting

Slides:



Advertisements
Similar presentations
Lists CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Advertisements

More on Functions (Part 2) Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg.
Chapter 7 Lists and Tuples. "The Practice of Computing Using Python", Punch & Enbody, Copyright © 2013 Pearson Education, Inc. Data Structures.
Lists and Tuples Intro to Computer Science CS1510 Dr. Sarah Diesburg.
Lists CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Intro to Nested Looping Intro to Computer Science CS1510 Dr. Sarah Diesburg.
Introduction to Strings Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg 1.
Tuples and Dictionaries Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg.
More on Functions Intro to Computer Science CS1510 Dr. Sarah Diesburg.
Chapter More on Classes Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg.
Dictionaries Intro to Computer Science CS 1510 Dr. Sarah Diesburg.
OCR Computing GCSE © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 3: Built-in functions.
More on Functions Intro to Computer Science CS1510 Dr. Sarah Diesburg.
More on Functions (Part 2) Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg.
String and Lists Dr. José M. Reyes Álamo.
Python unit_4 review Tue/Wed, Dec 1-2
More on Functions (Part 2)
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg
Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Chapter 8 Namespaces and Memory Realities
Thinking about programming
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Introduction to Strings
Introduction to Strings
Intro to Computer Science CS 1510 Dr. Sarah Diesburg
More Nested Loops and Lab 5
Intro to Computer Science CS 1510 Dr. Sarah Diesburg
Types, Truth, and Expressions (Part 2)
String Encodings and Penny Math
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Types, Truth, and Expressions (Part 2)
Intro to Nested Looping
Types, Truth, and Expressions (Part 2)
Types, Truth, and Expressions (Part 2)
4. sequence data type Rocky K. C. Chang 16 September 2018
Chapter 8 Namespaces and Memory Realities
Intro to Computer Science CS1510 Dr. Sarah Diesburg
String and Lists Dr. José M. Reyes Álamo.
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Lists in Python Outputting lists.
Intro to Computer Science CS1510 Dr. Sarah Diesburg
More on Functions (Part 2)
Lists – Indexing and Sorting
Intro to Nested Looping
Types, Truth, and Expressions (Part 2)
Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg
Introduction to Strings
Intro to Computer Science CS1510 Dr. Sarah Diesburg
15-110: Principles of Computing
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Python Basics with Jupyter Notebook
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Chapter 8 Namespaces and Memory Realities
Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Introduction to Strings
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Lists – Indexing and Sorting
String Encodings and Penny Math
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Types, Truth, and Expressions
Introduction to Strings
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Lists basics A container is a construct used to group related values together and contains references to other objects instead of data. A list is a container.
Types, Truth, and Expressions (Part 2)
Presentation transcript:

Lists – Indexing and Sorting Intro to Computer Science CS1510 Dr. Sarah Diesburg

The Python List Data Structure A list an ordered sequence of items of any type. myList = [1, [2,1], ‘hello’]

List Indexing We can index into a list in much the same way as a string >>> myList = [1, [2,1], ‘hello’] >>> myList[2] ‘hello’ Let’s play with some indexing problems. Break up into teams of 2 or 3.

Example Program myList = [[‘Penny’, 90], [‘Leonard’, 85], 2] print(myList[0]) print(myList[0][0][3] + myList[1][0][2]) print((myList[0][1] + myList[1][1]) / myList[2]) #What is the output of the three print statements?

List Methods myList.append(x) myList.extend(C) myList.pop() myList.insert(i,x) myList.remove(x) myList.sort() myList.reverse() myList.index(x) myList.count(x) Which methods modify the list??

Sorting Only lists have a built-in sorting method. Thus you often convert your data to a list if it needs sorting: myLst = list(‘xyzabc’) myLst  [‘x’,’y’,’z’,’a’,’b’,’c’] myLst.sort()

Sorted Function The sorted function will break a sequence into elements and sort the sequence, placing the results in a list: sortLst = sorted(‘hi mom’)  [‘ ‘,’h’,’i’,’m’,’m’,’o’]

Unusual Results myLst = [4, 7, 1, 2] myLst = myLst.sort() myLst  None # what happened? What happened was the sort operation changed the order of the list in place (right side of assignment). Then the sort method returned None, which was assigned to the variable. The list was lost and None is now the value of the variable.

Anagram Example Anagrams are words that contain the same letters in a different order. For example: ‘iceman’ and ‘cinema.’ A strategy to identify anagrams is to take the letters of a word, sort those letters, then compare the sorted sequences. Anagrams should have the same sequence.

Anagram Program Algorithm Input 2 words to examine. Sort the letters of each word into a new string. Compare the resulting sorted strings