SlideShare a Scribd company logo
Tuples
Chapter 10
Python programming Sequence Datatypes -Tuples
Tuples are like lists
• Tuples are another kind of sequence that function much
like a list - they have elements which are indexed
starting at 0
>>> x = ('Glenn', 'Sally', 'Joseph')
>>> print x[2]Joseph
>>> y = ( 1, 9, 2 )
>>> print y
(1, 9, 2)
>>> print max(y)
9
>>> for iter in y:
... print iter
...
1
9
2
>>>
..but.. Tuples are "immutable"
• Unlike a list, once you create a tuple, you cannot alter
its contents - similar to a string
>>> x = [9, 8, 7]
>>> x[2] = 6
>>> print x[9, 8, 6]
>>>
>>> y = 'ABC’
>>> y[2] = 'D’
Traceback:'str'
object does
not support item
Assignment
>>>
>>> z = (5, 4,
3)>>> z[2] = 0
Traceback:'tuple'
object does
not support item
Assignment
>>>
Things not to do with tuples
>>> x = (3, 2, 1)
>>> x.sort()
Traceback:AttributeError: 'tuple' object has no
attribute 'sort’
>>> x.append(5)
Traceback:AttributeError: 'tuple' object has no
attribute 'append’
>>> x.reverse()
Traceback:AttributeError: 'tuple' object has no
attribute 'reverse’
>>>
A Tale of Two Sequences
>>> l = list()
>>> dir(l)[
'append', 'count', 'extend', 'index', 'insert',
'pop', 'remove', 'reverse', 'sort']
>>> t = tuple()
>>> dir(t)
['count', 'index']
Tuples are more efficient
• Since Python does not have to build tuple structures to
be modifiable, they are simpler and more efficient in
terms of memory use and performance than lists
• So in our program when we are making "temporary
variables" we prefer tuples over lists.
Tuples and Assignment
• We can also put a tuple on the left hand side of an
assignment statement
• We can even omit the parenthesis
>>> (x, y) = (4, 'fred')
>>> print y
Fred
>>> (a, b) = (99, 98)
>>> print a
99
Tuples and
Dictionaries
• The items() method
in dictionaries returns
a list of (key, value)
tuples
>>> d = dict()
>>> d['csev'] = 2
>>> d['cwen'] = 4
>>> for (k,v) in d.items():
... print k, v
...
csev 2
cwen 4
>>> tups = d.items()
>>> print tups
[('csev', 2), ('cwen', 4)]
Tuples are Comparable
• The comparison operators work with tuples and other
sequences If the first item is equal, Python goes on to
the next element, and so on, until it finds elements that
differ.
>>> (0, 1, 2) < (5, 1, 2)
True
>>> (0, 1, 2000000) < (0, 3, 4)
True
>>> ( 'Jones', 'Sally' ) < ('Jones', 'Sam')
True
>>> ( 'Jones', 'Sally') > ('Adams', 'Sam')
True
Sorting Lists of Tuples
• We can take advantage of the ability to sort a list of
tuples to get a sorted version of a dictionary
• First we sort the dictionary by the key using the items()
method
>>> d = {'a':10, 'b':1, 'c':22}
>>> t = d.items()
>>> t
[('a', 10), ('c', 22), ('b', 1)]
>>> t.sort()
>>> t
[('a', 10), ('b', 1), ('c', 22)]
Using
sorted()
>>> d = {'a':10, 'b':1, 'c':22}
>>> d.items()
[('a', 10), ('c', 22), ('b', 1)]
>>> t = sorted(d.items())
>>> t
[('a', 10), ('b', 1), ('c', 22)]
>>> for k, v in sorted(d.items()):
... print k, v
...
a 10
b 1
c 22
We can do this even
more directly using the
built-in function sorted
that takes a sequence
as a parameter and
returns a sorted
sequence
Sort by values instead of key
• If we could
construct a list of
tuples of the form
(value, key) we
could sort by
value
• We do this with a
for loop that
creates a list of
tuples
>>> c = {'a':10, 'b':1, 'c':22}
>>> tmp = list()
>>> for k, v in c.items() :
... tmp.append( (v, k) )
...
>>> print tmp
[(10, 'a'), (22, 'c'), (1, 'b')]
>>> tmp.sort(reverse=True)
>>> print tmp
[(22, 'c'), (10, 'a'), (1, 'b')]
fhand = open('romeo.txt')
counts = dict()
for line in fhand:
words = line.split()
for word in words:
counts[word] = counts.get(word, 0 ) + 1
lst = list()
for key, val in counts.items():
lst.append( (val, key) )
lst.sort(reverse=True)
for val, key in lst[:10] :
print key, val
The top 10 most
common words.
Even Shorter Version (adv)
http://wiki.python.org/moin/HowTo/Sorti
ng
>>> c = {'a':10, 'b':1, 'c':22}
>>> print sorted( [ (v,k) for k,v in c.items() ] )
[(1, 'b'), (10, 'a'), (22, 'c')]
List comprehension creates a dynamic list. In this case, we
make a list of reversed tuples and then sort it.
Summary
• Tuple syntax
• Mutability (not)
• Comparability
• Sortable
• Tuples in assignment
statements
• Using sorted()
• Sorting dictionaries by either
key or value

More Related Content

PPTX
Python data structures
Harry Potter
 
PPTX
Python data structures
Tony Nguyen
 
PPTX
Python data structures
Young Alista
 
PPTX
Python data structures
James Wong
 
PPTX
Python data structures
Luis Goldster
 
PPTX
Python data structures
Fraboni Ec
 
PPTX
Python Lecture 11
Inzamam Baig
 
Python data structures
Harry Potter
 
Python data structures
Tony Nguyen
 
Python data structures
Young Alista
 
Python data structures
James Wong
 
Python data structures
Luis Goldster
 
Python data structures
Fraboni Ec
 
Python Lecture 11
Inzamam Baig
 

Similar to Python programming Sequence Datatypes -Tuples (20)

PPTX
Tuples-and-Dictionaries.pptx
AyushTripathi998357
 
PPTX
Lecture 09.pptx
Mohammad Hassan
 
PPTX
UNIT-3 python and data structure alo.pptx
harikahhy
 
PPTX
tupple.pptx
satyabratPanda2
 
PDF
‘How to develop Pythonic coding rather than Python coding – Logic Perspective’
S.Mohideen Badhusha
 
PDF
updated_tuple_in_python.pdf
Koteswari Kasireddy
 
PPTX
An Introduction to Tuple List Dictionary in Python
yashar Aliabasi
 
PPTX
pythonlist_arrays_and some practice problems
Abhi Marvel
 
PPT
Programming in Python Lists and its methods .ppt
Dr. Jasmine Beulah Gnanadurai
 
PDF
Python tuples and Dictionary
Aswini Dharmaraj
 
PPTX
Python PCEP Tuples and Dictionaries
IHTMINSTITUTE
 
PPTX
Python PCEP Tuples and Dictionaries
IHTMINSTITUTE
 
PPTX
datastrubsbwbwbbwcturesinpython-3-4.pptx
Farhana859326
 
PPTX
Understanding-Python-Data-Structures-A-Comprehensive-Guide.pptx
riberim258
 
PPTX
Sixth session
AliMohammad155
 
PDF
Python programming : List and tuples
Emertxe Information Technologies Pvt Ltd
 
PPTX
Python list tuple dictionary presentation
NarendraDev11
 
PPTX
Python list tuple dictionary .pptx
miteshchaudhari4466
 
PPTX
List_tuple_dictionary.pptx
ChandanVatsa2
 
PPTX
UNIT 1 - Revision of Basics - II.pptx
NishanSidhu2
 
Tuples-and-Dictionaries.pptx
AyushTripathi998357
 
Lecture 09.pptx
Mohammad Hassan
 
UNIT-3 python and data structure alo.pptx
harikahhy
 
tupple.pptx
satyabratPanda2
 
‘How to develop Pythonic coding rather than Python coding – Logic Perspective’
S.Mohideen Badhusha
 
updated_tuple_in_python.pdf
Koteswari Kasireddy
 
An Introduction to Tuple List Dictionary in Python
yashar Aliabasi
 
pythonlist_arrays_and some practice problems
Abhi Marvel
 
Programming in Python Lists and its methods .ppt
Dr. Jasmine Beulah Gnanadurai
 
Python tuples and Dictionary
Aswini Dharmaraj
 
Python PCEP Tuples and Dictionaries
IHTMINSTITUTE
 
Python PCEP Tuples and Dictionaries
IHTMINSTITUTE
 
datastrubsbwbwbbwcturesinpython-3-4.pptx
Farhana859326
 
Understanding-Python-Data-Structures-A-Comprehensive-Guide.pptx
riberim258
 
Sixth session
AliMohammad155
 
Python programming : List and tuples
Emertxe Information Technologies Pvt Ltd
 
Python list tuple dictionary presentation
NarendraDev11
 
Python list tuple dictionary .pptx
miteshchaudhari4466
 
List_tuple_dictionary.pptx
ChandanVatsa2
 
UNIT 1 - Revision of Basics - II.pptx
NishanSidhu2
 
Ad

Recently uploaded (20)

PDF
Activated Carbon for Water and Wastewater Treatment_ Integration of Adsorptio...
EmilianoRodriguezTll
 
PDF
Software Testing Tools - names and explanation
shruti533256
 
PPTX
easa module 3 funtamental electronics.pptx
tryanothert7
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
오픈소스 LLM, vLLM으로 Production까지 (Instruct.KR Summer Meetup, 2025)
Hyogeun Oh
 
DOCX
SAR - EEEfdfdsdasdsdasdasdasdasdasdasdasda.docx
Kanimozhi676285
 
PPT
1. SYSTEMS, ROLES, AND DEVELOPMENT METHODOLOGIES.ppt
zilow058
 
PDF
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
PPTX
EE3303-EM-I 25.7.25 electrical machines.pptx
Nagen87
 
PPTX
business incubation centre aaaaaaaaaaaaaa
hodeeesite4
 
PPTX
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
PPTX
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
PPTX
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
PDF
flutter Launcher Icons, Splash Screens & Fonts
Ahmed Mohamed
 
PPTX
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
PPTX
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
PPTX
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
PDF
Introduction to Data Science: data science process
ShivarkarSandip
 
PPT
SCOPE_~1- technology of green house and poyhouse
bala464780
 
PPTX
22PCOAM21 Data Quality Session 3 Data Quality.pptx
Guru Nanak Technical Institutions
 
Activated Carbon for Water and Wastewater Treatment_ Integration of Adsorptio...
EmilianoRodriguezTll
 
Software Testing Tools - names and explanation
shruti533256
 
easa module 3 funtamental electronics.pptx
tryanothert7
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
오픈소스 LLM, vLLM으로 Production까지 (Instruct.KR Summer Meetup, 2025)
Hyogeun Oh
 
SAR - EEEfdfdsdasdsdasdasdasdasdasdasdasda.docx
Kanimozhi676285
 
1. SYSTEMS, ROLES, AND DEVELOPMENT METHODOLOGIES.ppt
zilow058
 
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
EE3303-EM-I 25.7.25 electrical machines.pptx
Nagen87
 
business incubation centre aaaaaaaaaaaaaa
hodeeesite4
 
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
flutter Launcher Icons, Splash Screens & Fonts
Ahmed Mohamed
 
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
Introduction to Data Science: data science process
ShivarkarSandip
 
SCOPE_~1- technology of green house and poyhouse
bala464780
 
22PCOAM21 Data Quality Session 3 Data Quality.pptx
Guru Nanak Technical Institutions
 
Ad

Python programming Sequence Datatypes -Tuples

  • 3. Tuples are like lists • Tuples are another kind of sequence that function much like a list - they have elements which are indexed starting at 0 >>> x = ('Glenn', 'Sally', 'Joseph') >>> print x[2]Joseph >>> y = ( 1, 9, 2 ) >>> print y (1, 9, 2) >>> print max(y) 9 >>> for iter in y: ... print iter ... 1 9 2 >>>
  • 4. ..but.. Tuples are "immutable" • Unlike a list, once you create a tuple, you cannot alter its contents - similar to a string >>> x = [9, 8, 7] >>> x[2] = 6 >>> print x[9, 8, 6] >>> >>> y = 'ABC’ >>> y[2] = 'D’ Traceback:'str' object does not support item Assignment >>> >>> z = (5, 4, 3)>>> z[2] = 0 Traceback:'tuple' object does not support item Assignment >>>
  • 5. Things not to do with tuples >>> x = (3, 2, 1) >>> x.sort() Traceback:AttributeError: 'tuple' object has no attribute 'sort’ >>> x.append(5) Traceback:AttributeError: 'tuple' object has no attribute 'append’ >>> x.reverse() Traceback:AttributeError: 'tuple' object has no attribute 'reverse’ >>>
  • 6. A Tale of Two Sequences >>> l = list() >>> dir(l)[ 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] >>> t = tuple() >>> dir(t) ['count', 'index']
  • 7. Tuples are more efficient • Since Python does not have to build tuple structures to be modifiable, they are simpler and more efficient in terms of memory use and performance than lists • So in our program when we are making "temporary variables" we prefer tuples over lists.
  • 8. Tuples and Assignment • We can also put a tuple on the left hand side of an assignment statement • We can even omit the parenthesis >>> (x, y) = (4, 'fred') >>> print y Fred >>> (a, b) = (99, 98) >>> print a 99
  • 9. Tuples and Dictionaries • The items() method in dictionaries returns a list of (key, value) tuples >>> d = dict() >>> d['csev'] = 2 >>> d['cwen'] = 4 >>> for (k,v) in d.items(): ... print k, v ... csev 2 cwen 4 >>> tups = d.items() >>> print tups [('csev', 2), ('cwen', 4)]
  • 10. Tuples are Comparable • The comparison operators work with tuples and other sequences If the first item is equal, Python goes on to the next element, and so on, until it finds elements that differ. >>> (0, 1, 2) < (5, 1, 2) True >>> (0, 1, 2000000) < (0, 3, 4) True >>> ( 'Jones', 'Sally' ) < ('Jones', 'Sam') True >>> ( 'Jones', 'Sally') > ('Adams', 'Sam') True
  • 11. Sorting Lists of Tuples • We can take advantage of the ability to sort a list of tuples to get a sorted version of a dictionary • First we sort the dictionary by the key using the items() method >>> d = {'a':10, 'b':1, 'c':22} >>> t = d.items() >>> t [('a', 10), ('c', 22), ('b', 1)] >>> t.sort() >>> t [('a', 10), ('b', 1), ('c', 22)]
  • 12. Using sorted() >>> d = {'a':10, 'b':1, 'c':22} >>> d.items() [('a', 10), ('c', 22), ('b', 1)] >>> t = sorted(d.items()) >>> t [('a', 10), ('b', 1), ('c', 22)] >>> for k, v in sorted(d.items()): ... print k, v ... a 10 b 1 c 22 We can do this even more directly using the built-in function sorted that takes a sequence as a parameter and returns a sorted sequence
  • 13. Sort by values instead of key • If we could construct a list of tuples of the form (value, key) we could sort by value • We do this with a for loop that creates a list of tuples >>> c = {'a':10, 'b':1, 'c':22} >>> tmp = list() >>> for k, v in c.items() : ... tmp.append( (v, k) ) ... >>> print tmp [(10, 'a'), (22, 'c'), (1, 'b')] >>> tmp.sort(reverse=True) >>> print tmp [(22, 'c'), (10, 'a'), (1, 'b')]
  • 14. fhand = open('romeo.txt') counts = dict() for line in fhand: words = line.split() for word in words: counts[word] = counts.get(word, 0 ) + 1 lst = list() for key, val in counts.items(): lst.append( (val, key) ) lst.sort(reverse=True) for val, key in lst[:10] : print key, val The top 10 most common words.
  • 15. Even Shorter Version (adv) http://wiki.python.org/moin/HowTo/Sorti ng >>> c = {'a':10, 'b':1, 'c':22} >>> print sorted( [ (v,k) for k,v in c.items() ] ) [(1, 'b'), (10, 'a'), (22, 'c')] List comprehension creates a dynamic list. In this case, we make a list of reversed tuples and then sort it.
  • 16. Summary • Tuple syntax • Mutability (not) • Comparability • Sortable • Tuples in assignment statements • Using sorted() • Sorting dictionaries by either key or value