Download presentation

Presentation is loading. Please wait.

Published byKaylah Tustin Modified over 2 years ago

1
Tuples Copyright © Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. Python

2
Tuples A list is a mutable heterogeneous sequence

3
PythonTuples A list is a mutable heterogeneous sequence A tuple is an immutable heterogeneous sequence

4
PythonTuples A list is a mutable heterogeneous sequence A tuple is an immutable heterogeneous sequence I.e., a list that can't be changed after creation

5
PythonTuples A list is a mutable heterogeneous sequence A tuple is an immutable heterogeneous sequence I.e., a list that can't be changed after creation Why provide a less general type of collection?

6
PythonTuples A list is a mutable heterogeneous sequence A tuple is an immutable heterogeneous sequence I.e., a list that can't be changed after creation Why provide a less general type of collection? Full explanation will have to wait for lecture on sets and dictionaries

7
PythonTuples A list is a mutable heterogeneous sequence A tuple is an immutable heterogeneous sequence I.e., a list that can't be changed after creation Why provide a less general type of collection? Full explanation will have to wait for lecture on sets and dictionaries Useful even before then

8
PythonTuples Create tuples using () instead of []

9
PythonTuples Create tuples using () instead of [] Still index using [] (because everything does)

10
PythonTuples Create tuples using () instead of [] Still index using [] (because everything does) >>> primes = (2, 3, 5, 7) >>> print primes[0], primes[-1] 2 7 >>>

11
PythonTuples Create tuples using () instead of [] Still index using [] (because everything does) >>> primes = (2, 3, 5, 7) >>> print primes[0], primes[-1] 2 7 >>> empty_tuple = () >>> print len(empty_tuple) 0 >>>

12
PythonTuples Create tuples using () instead of [] Still index using [] (because everything does) >>> primes = (2, 3, 5, 7) >>> print primes[0], primes[-1] 2 7 >>> empty_tuple = () >>> print len(empty_tuple) 0 >>> Must use (val,) for tuple with one element

13
PythonTuples Create tuples using () instead of [] Still index using [] (because everything does) >>> primes = (2, 3, 5, 7) >>> print primes[0], primes[-1] 2 7 >>> empty_tuple = () >>> print len(empty_tuple) 0 >>> Must use (val,) for tuple with one element Because math says that (5) is just 5

14
PythonTuples Create tuples using () instead of [] Still index using [] (because everything does) >>> primes = (2, 3, 5, 7) >>> print primes[0], primes[-1] 2 7 >>> empty_tuple = () >>> print len(empty_tuple) 0 >>> Must use (val,) for tuple with one element Because math says that (5) is just 5 One of Python's few syntactic warts…

15
PythonTuples Don't need parentheses if context is enough

16
PythonTuples Don't need parentheses if context is enough >>> primes = 2, 3, 5, 7 >>> print primes (2, 3, 5, 7) >>>

17
PythonTuples Don't need parentheses if context is enough >>> primes = 2, 3, 5, 7 >>> print primes (2, 3, 5, 7) >>> Can use on the left of assignment

18
PythonTuples Don't need parentheses if context is enough >>> primes = 2, 3, 5, 7 >>> print primes (2, 3, 5, 7) >>> Can use on the left of assignment >>> left, middle, right = 2, 3, 5 >>>

19
PythonTuples Don't need parentheses if context is enough >>> primes = 2, 3, 5, 7 >>> print primes (2, 3, 5, 7) >>> Can use on the left of assignment >>> left, middle, right = 2, 3, 5 >>> print left 2 >>> print middle 3 >>> print right 5 >>>

20
PythonTuples Don't need parentheses if context is enough >>> primes = 2, 3, 5, 7 >>> print primes (2, 3, 5, 7) >>> Can use on the left of assignment >>> left, middle, right = 2, 3, 5 >>> print left 2 >>> print middle 3 >>> print right 5 >>> With great power comes great responsibility…

21
PythonTuples Allows functions to return multiple values

22
PythonTuples Allows functions to return multiple values >>> def bounds(values):... low = min(values)... high = max(values)... return (low, high)... >>>

23
PythonTuples Allows functions to return multiple values >>> def bounds(values):... low = min(values)... high = max(values)... return (low, high)... >>> print bounds([3, -5, 9, 4, 17, 0]) (-5, 17) >>>

24
PythonTuples Allows functions to return multiple values >>> def bounds(values):... low = min(values)... high = max(values)... return (low, high)... >>> print bounds([3, -5, 9, 4, 17, 0]) (-5, 17) >>> least, greatest = bounds([3, -5, 9, 4, 17, 0]) >>> print least 5 >>> print greatest 17 >>>

25
PythonTuples Sometimes used to return (success, result) pairs

26
PythonTuples Sometimes used to return (success, result) pairs def read_if_available(datafile_name): if file_exists(datafile_name):... return (True, data_values) else: return (False, [])

27
PythonTuples Sometimes used to return (success, result) pairs def read_if_available(datafile_name): if file_exists(datafile_name):... return (True, data_values) else: return (False, []) success, data = read_if_available('mydata.dat') if success:...

28
PythonTuples Sometimes used to return (success, result) pairs def read_if_available(datafile_name): if file_exists(datafile_name):... return (True, data_values) else: return (False, []) success, data = read_if_available('mydata.dat') if success:... We'll meet a better way in the lecture on testing

29
PythonTuples Provides a quick way to swap variables' values

30
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>>

31
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>>

32
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>> print right 0 >>> print left 10 >>>

33
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>> print right 0 >>> print left 10 >>> Python creates temporaries if needed

34
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>> print right 0 >>> print left 10 >>> Python creates temporaries if needed left right 0 10

35
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>> print right 0 >>> print left 10 >>> Python creates temporaries if needed left right _tmp_ 0 10

36
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>> print right 0 >>> print left 10 >>> Python creates temporaries if needed left right _tmp_ 0 10

37
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>> print right 0 >>> print left 10 >>> Python creates temporaries if needed left right _tmp_ 0 10

38
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>> print right 0 >>> print left 10 >>> Python creates temporaries if needed left right _tmp_ 0 10

39
PythonTuples Provides a quick way to swap variables' values >>> left, right = 0, 10 >>> right, left = left, right >>> print right 0 >>> print left 10 >>> Python creates temporaries if needed left right 0 10

40
PythonTuples And an easy way to unpack a list

41
PythonTuples And an easy way to unpack a list >>> colors = ['yellow', 'magenta', 'lavender'] >>>

42
PythonTuples And an easy way to unpack a list >>> colors = ['yellow', 'magenta', 'lavender'] >>> left, middle, right = colors >>>

43
PythonTuples And an easy way to unpack a list >>> colors = ['yellow', 'magenta', 'lavender'] >>> left, middle, right = colors >>> print left yellow >>> print middle magenta >>> print right lavender >>>

44
PythonTuples And an easy way to unpack a list >>> colors = ['yellow', 'magenta', 'lavender'] >>> left, middle, right = colors >>> print left yellow >>> print middle magenta >>> print right lavender >>> Number of values must be the same

45
PythonTuples Often used in loops

46
PythonTuples Often used in loops >>> pairs = ((1, 10), (2, 20), (3, 30), (4, 40)) >>>

47
PythonTuples Often used in loops >>> pairs = ((1, 10), (2, 20), (3, 30), (4, 40)) >>> for p in pairs:... print p[0] + p[1]

48
PythonTuples Often used in loops >>> pairs = ((1, 10), (2, 20), (3, 30), (4, 40)) >>> for p in pairs:... print p[0] + p[1]

49
PythonTuples Often used in loops >>> pairs = ((1, 10), (2, 20), (3, 30), (4, 40)) >>> for (low, high) in pairs:... print low + high

50
PythonTuples Often used in loops >>> pairs = ((1, 10), (2, 20), (3, 30), (4, 40)) >>> for (low, high) in pairs:... print low + high... 11 22 33 44 >>>

51
PythonTuples The enumerate function produces (index, value) pairs

52
PythonTuples The enumerate function produces (index, value) pairs >>> colors = ['yellow', 'magenta', 'lavender'] >>> for (i, name) in enumerate(colors):... print i, name

53
PythonTuples The enumerate function produces (index, value) pairs >>> colors = ['yellow', 'magenta', 'lavender'] >>> for (i, name) in enumerate(colors):... print i, name... 0 yellow 1 magenta 2 lavender >>>

54
PythonTuples The enumerate function produces (index, value) pairs >>> colors = ['yellow', 'magenta', 'lavender'] >>> for (i, name) in enumerate(colors):... print i, name... 0 yellow 1 magenta 2 lavender >>> Prefer this to range(len(values))

55
October 2010 created by Greg Wilson Copyright © Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information.

Similar presentations

Presentation is loading. Please wait....

OK

Built-in Data Structures in Python An Introduction.

Built-in Data Structures in Python An Introduction.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on atoms and molecules Gi anatomy and physiology ppt on cells Ppt on principles of object-oriented programming in java Ppt on media and entertainment industry Ppt on water cycle in hindi Ppt on standing order activated Ppt on forward rate agreement calculation Ppt on electricity distribution system in india Ppt on ms excel 2007 tutorial Ppt on cross docking distribution