Unit 4 Lists, Tuples and Dictionaries
To contribute/fix, fork and edit the corresponding file here
Lists: list operations, list slices, list methods, list loop, mutability, aliasing, cloning lists, list parameters; Tuples: tuple assignment, tuple as return value; Dictionaries: operations and methods;
Advanced list processing - list comprehension
For last section of Unit 4,
Illustrative Programs
, please see http://j.mp/unit4Easy
Pre-requisite: http://j.mp/pythonREPLcourse (Needs updation)
Refer to the glossary below to become familiar with the terms relevant to this unit
I just scored 63% on @realpython's "Python Lists and Tuples" quiz. What's your score? #pythonquiz https://realpython.com/quizzes/python-lists-tuples/results
Concept Map
A picture is worth a 1000 words

Sequences and attributes
Here are some important methods that are associated with tuple
, list
and dictionary
- all types that are covered in Unit 4.
'tuple'
8 count
, index
'list'
9 append
, clear
, copy
, 10 count
, 11 extend
, index
, 12 insert
, 13 pop
, 14 remove
, 15 reverse
, 16 sort
'dict'
clear
, copy
, fromkeys
, 17 get
, 18 items
, 19 keys
, 20 pop
, popitem
, setdefault
, 21 update
, 22 values
List Methods and Operations
The following table has been created by clustering multiple items based on some criteria. This is easier to internalize and deliver to maximize retention among students. Moreover, there is going to be better chance of overall engagement.
What is a list method (an attribute of a variable)? What is a list operation (a stand-alone function)? What is the difference? Get this clarified first!
Initialize methods
none
initialize an empty list, using a tuple, using another list
operations
[]
, list()
or list(sequence)
, the =
operator
bl = al
initializes bl
as an alias for theal
list object
Access methods
[idx], .index(elem)
[1] .count()
[2]
index
throws an exception if not present
operations
in
and not in
, any
and all
, max
, min
, len
, sum
membership in
list, all
or any
if element(s) is True
Modify methods
addition .append(val)
[3], .insert(loc, val)
[4], .extend(lst)
[5]
add elements to the list at specific locations; extend
adds multiple elements from sequence
extraction .pop(loc)
[6], .remove(elem)
[7], .clear()
[8]
take out from specified index, or element or all elements
ordering .reverse()
[9], .sort()
[10]
rearrange elements in the list
operations
del
, sorted
same effect as the methods with better performance?
Allocate methods
.copy()
[11],[:]
, [s:s:s], repetition (using *
) and concatenation (using +
)
Create distinct list objects by duplicating existing ones
operations
slice(start, stop, step), zip
, enumerate
, cloning (copy.copy and deepcopy) and list comprehension
same as slice operator []
, zip
creates a new list with tuples from two lists, enumerate
provides list with (index, element) tuple

List indexing
http://j.mp/swapListCC - swap elements in a list
List Mutability
http://bit.ly/immutableThis - explanation of Immutability in Python
Pre-requisite: http://j.mp/immutablePython
From https://jeffknupp.com/blog/2012/11/13/is-python-callbyvalue-or-callbyreference-neither/
This brings us to an important point: there are actually two kinds of objects in Python. A mutable object exhibits time-varying behavior. Changes to a mutable object are visible through all names bound to it. Python's lists are an example of mutable objects. An immutable object does not exhibit time-varying behavior. The value of immutable objects can not be modified after they are created. They can be used to compute the values of new objects, which is how a function like string.join works. When you think about it, this dichotomy is necessary because, again, everything is an object in Python. If integers were not immutable I could change the meaning of the number '2' throughout my program.
It would be incorrect to say that "mutable objects can change and immutable ones can't", however.

Slicing
A Python slice extracts elements from an
iterable
based on a start and stop. It returns aiterable
(or sequence) containing the extracted elements.We take slices on many types (
string, list and/or tuple
) in Python.We specify an optional
start
index, an optionalstop
index, and an optionalstep
value (0
is not acceptable as step value).
Syntax notes. The special syntax for this operation is at first confusing. But with practice, slicing becomes easy. When we omit a value, a default is used.
[Start: Stop: Step]
values[1:3]
Index 1 through index 3.
values[2:-1]
Index 2 through index one from last.
values[:2]
Start through index 2.
values[2:]
Index 2 through end.
values[::2]
Start through end, skipping ahead 2 places each time.
values[:]
Returns a copy of the list with all elements
rlist = [88, 44, 65, 68, 78, \
23, 72, 28, 50, 72, 21, 47, 27, 50, 15]
What does rlist[:-10] evaluate to?
# [88, 44, 65, 68, 78]
What does rlist[:-10:3] evaluate to?
# [88, 68]
alist = [25, 20, 25, 84, 67, 99, 96, 67,\
27, 78, 73] [-3:7:-1]
What does `alist` contain?
https://www.dotnetperls.com/slice-python
Slicing of Lists
Slice Detailed Slides https://v4.software-carpentry.org/python/slice.pdf
List Comprehension
Pre-requisite; http://j.mp/listBenefit and https://j.mp/listComprehensions List comprehensions are concise ways to create lists. The general syntax is:
[<expression> for <item> in <sequence> if <condition>]
where the if
clause is optional. For example,
mylist = [1,2,3,4,5]
yourlist = [item ** 2 for item in mylist]
print(yourlist)
# [1, 4, 9, 16, 25]
Quiz
What is printed by the following statements? Or, what is the output of 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]
http://j.mp/enumListCC - manually code out the enumerate function
Find the output for these list comprehensions
Complete the code snippet to loop through the list in reverse and then print it out.
pylist = ['n', 'o', 'h', 't', 'y', 'p']
for c in ???(???):
???(c)
Eight Ways to copy/clone a list?
Using functions/operations
Use slicing -
bl = al[:]
(apparently, the fastest technique)Use list comprehension
bl = [elem for elem in al ]
Use
list()
function
Using methods 4. Use the .copy
method - bl = al.copy()
5. Using .extend
method 6. Using .append
method
Using modules 7. Use the copy.copy
function 8. Use the copy.deepcopy
function
https://www.geeksforgeeks.org/python-cloning-copying-list/
Four ways to reverse a list
Use
reverse
method -al.reverse()
Use slice
al = al[::-1]
Can you use
slice
to reverse the list, in place?
Use
reversed
function -list (reversed(al))
Write your own
reverseList
function using a loop
Four ways to swap 2 values
Use a temp variable
temp = a a = b b = temp
Use addition and subtraction
a = a + b b = a - b a = a - b
Using XOR
a ^= b b ^= a a ^= b
Using tuple assignments
tuple assignment
An assignment to all of the elements in a tuple using a single assignment statement. Tuple assignment occurs simultaneously rather than in sequence, making it useful for swapping values. a, b, = (b, a)
Using list methods
al = [a, b] a = al.pop() b = al.pop()
List Parameters
http://j.mp/parameterThis - what is the difference between parameters and arguments?
There is no pass by value in Python. Functions arguments are always passed by reference (or object reference, to be exact). The reason that numbers don’t change even if they are passed by reference is because of their immutability.
Refer book section for more details
Sequence Assignment, Packing, Unpacking
This is very unique to the Python language in that you can do multiple assignments in the same statement. For coming up with the function for determining whether a string is a palindrome, it works quite elegantly.

Dictionary
A collection of key-value pairs that maps from keys to values. The keys can be any immutable type, and the values can be any type. Dictionaries implement the associative array abstract data type.
key: A data item that is mapped to a value in a dictionary. Keys are used to look up values in a dictionary.
key-value pair: One of the pairs of items in a dictionary. Values are looked up in a dictionary by key.
adict = dict() # initialization
adict['Sam'] = 233-2333
adict['Victor'] = 900-2222
Exercises
Tackle a Cloudcoder exercise http://j.mp/fromlistCC - generate a dictionary or a list of tuples.
http://j.mp/reverseDictionary
http://j.mp/friendsCC
Glossary
aliases Multiple variables that contain references to the same object.
aliasing - nicknames - multiple names for the same object
Rajesh is the name of a boy; 'Ramki' might be the name used by his close relatives; "Bondaaaa" might be the name used by his close friends; 'Ramki' and "Bondaaa" are aliases (nicknames) for Rajesh
clone To create a new object that has the same value as an existing object. Copying a reference to an object creates an alias but doesn’t clone the object.
Cloning a goat using stem cells is about duplicating what is already available
delimiter A character or string used to indicate where a string should be split.
element One of the values in a list (or other sequence). The bracket operator selects elements of a list.
index An integer variable or value that indicates an element of a list.
list A collection of objects, where each object is identified by an index. Like other types str
, int
, float
, etc. there is also a list
type-converter function that tries to turn its argument into a list.
list traversal The sequential accessing of each element in a list.
modifier A function which changes its arguments inside the function body. Only mutable types can be changed by modifiers.
mutable data type A data type in which the elements can be modified. All mutable types are compound types. Lists are mutable data types; strings are not.
mutability - > ability to mutated, to be changed, to be modified
immutability -> cannot be changed
nested list A list that is an element of another list.
object A thing to which a variable can refer.
sequence Any of the data types that consist of an ordered collection of elements, with each element identified by an index.
tuple A sequential collection of items, similar to a list. Any python object can be an element of a tuple. However, unlike a list, tuples are immutable.
Exercises
1 Runestone exercises 2. Remove duplicates. A list contains duplicate elements. How can we remove them? Some approaches may lead to the elements becoming reordered, but this is not necessary.
Exercises for Illustrative Programs
http://j.mp/butFirstCC and http://j.mp/butLastCC - iterate over a list
http://bit.ly/sumSquareCC - traverse and do a summation
http://j.mp/rightShiftCC - right shift exactly by one position
http://j.mp/rotateCC
http://j.mp/swapListCC - swap elements in a list
http://j.mp/enumListCC - manually code out the enumerate function
http://j.mp/divideTwo - divide a list into two halves
Slice Exercises - Part 0
http://j.mp/rightShiftCC - right shift exactly by one position
and http://j.mp/rotateCC
http://j.mp/divideTwo - divide a list into two halves
http://j.mp/slice51 - from repl course for Python
Given a list, cut it into two equal parts. If the length of the list is odd, leave the middle item within the first chunk, so that the first list contains one more character than the second. Now print a new list on a single row with the first and second halves swapped: second half first and the first half last.
Slice Exercises - Part 1
0. [35, 67, 41, 25, 31, 100, 97, 80][1:7]
slice(1,7,2) or [1:7:2]
2. [37, 17, 24, 82, 10, 52, 62, 36, 77, 88, 30, 13][-9:]
slice(-9,None,-3) or [-9::-3]
3. [37, 52, 52, 54, 97, 88, 76, 28, 45][10:11]
slice(10,11,0) or [10:11:0]
4. [40, 21, 54][2:]
slice(2,None,1) or [2::1]
5. [69, 34, 94, 55, 41, 10, 83, 43][-2:]
slice(-2,None,-2) or [-2::-2]
6. [50, 86, 76, 10, 37, 74, 71, 99, 87, 73, 13, 17, 45]
slice(-12,None,6) or [-12::6]
7. [42, 13, 79, 33, 45, 72, 51, 26, 34][7:]
slice(7,None,-2) or [7::-2]
8. [70, 26, 33, 35, 67][-7:]
slice(-7,None,1) or [-7::1]
9. [98, 88, 96, 32, 27, 66, 65, 79, 99]
slice(-9,None,-1) or [-9::-1]
15. [58, 77]
slice(-1,-5,-1) or [-1:-5:-1]
20. [31, 83, 70, 44, 16, 29, 100, 88, 10, 96, 37, 53, 58][-2:]
slice(-2,None,3) or [-2::3]
23. [10, 71][1:]
slice(1,None,-1) or [1::-1]
25. [80, 39, 71, 29, 38, 98, 47, 63, 89, 38, 90, 91, 20][-16:]
29. [76, 26, 14, 45][3:]
slice(3,None,-3) or [3::-3]
32. [25, 71, 15, 78, 53]
slice(-1,-5,-1) or [-1:-5:-1]
34. [94, 21, 69, 25, 20, 69, 75, 13, 55, 83, 44][-14:]
42. [83, 43, 21, 70, 18, 52, 53, 89][7:]
43. [56, 34, 23, 18, 96, 29, 49, 82, 12][6:]
slice(6,None,-3) or [6::-3]
46. [71, 80, 86, 31, 91, 86][4:]
slice(4,None,-1) or [4::-1]
48. [38, 19, 98, 20, 29, 63, 24, 60, 53, 80][-3:]
slice(-3,None,-2) or [-3::-2]
49. [49, 77, 55, 58, 75, 66, 97, 12, 77, 80, 44, 54][-5:]
slice(-5,None,2) or [-5::2]
50. [94, 86, 51, 95, 87, 70][-1:]
51. [56, 82, 13, 61, 79, 99, 62, 48, 66, 61, 40][-9:]
slice(-9,None,-2) or [-9::-2]
54. [16, 86, 42, 47, 75, 88, 17, 66, 60, 95, 97, 48][7:11]
slice(7,11,-1) or [7:11:-1]
56. [81, 95, 99, 26, 85, 91, 25, 97, 69, 53, 92, 51]
slice(-3,-14,-3) or [-3:-14:-3]
60. [91, 96, 35, 18, 63, 83][1:]
63. [37, 99, 31][-2:]
65. [22, 48, 80, 72, 28, 16, 60, 21, 54, 24, 57][-9:]
slice(-9,None,2) or [-9::2]
67. [84, 80, 38, 51, 44, 57, 25, 56, 82, 14, 37][1:4]
slice(1,4,0) or [1:4:0]
68. [70, 90, 71, 67, 78, 99, 18, 44][5:]
slice(5,None,-2) or [5::-2]
Slice Keys - Part 1
0.[35, 67, 41, 25, 31, 100, 97, 80][1:7]
[67, 41, 25, 31, 100, 97]
0. slice(1,7,2) or [1:7:2]
[67, 25, 100]
2.[37, 17, 24, 82, 10, 52, 62, 36, 77, 88, 30, 13][-9:]
[82, 10, 52, 62, 36, 77, 88, 30, 13]
2. slice(-9,None,-3) or [-9::-3]
[82, 37]
3.[37, 52, 52, 54, 97, 88, 76, 28, 45][10:11]
[]
3. slice(10,11,0) or [10:11:0]
[82, 37]
4.[40, 21, 54][2:]
[54]
4. slice(2,None,1) or [2::1]
[54]
5.[69, 34, 94, 55, 41, 10, 83, 43][-2:]
[83, 43]
5. slice(-2,None,-2) or [-2::-2]
[83, 41, 94, 69]
6. [50, 86, 76, 10, 37, 74, 71, 99, 87, 73, 13, 17, 45]
slice(-12,None,6) or [-12::6]
[86, 99]
7.[42, 13, 79, 33, 45, 72, 51, 26, 34][7:]
[26, 34]
7. slice(7,None,-2) or [7::-2]
[26, 72, 33, 13]
8.[70, 26, 33, 35, 67][-7:]
[70, 26, 33, 35, 67]
8. slice(-7,None,1) or [-7::1]
[70, 26, 33, 35, 67]
9. [98, 88, 96, 32, 27, 66, 65, 79, 99]
slice(-9,None,-1) or [-9::-1]
[98]
15. [58, 77]
slice(-1,-5,-1) or [-1:-5:-1]
[77, 58]
20.[31, 83, 70, 44, 16, 29, 100, 88, 10, 96, 37, 53, 58][-2:]
[53, 58]
20. slice(-2,None,3) or [-2::3]
[53]
23.[10, 71][1:]
[71]
23. slice(1,None,-1) or [1::-1]
[71, 10]
25. [80, 39, 71, 29, 38, 98, 47, 63, 89, 38, 90, 91, 20][-16:]
[80, 39, 71, 29, 38, 98, 47, 63, 89, 38, 90, 91, 20]
29.[76, 26, 14, 45][3:]
[45]
29. slice(3,None,-3) or [3::-3]
[45, 76]
32. [25, 71, 15, 78, 53]
slice(-1,-5,-1) or [-1:-5:-1]
[53, 78, 15, 71]
34. [94, 21, 69, 25, 20, 69, 75, 13, 55, 83, 44][-14:]
[94, 21, 69, 25, 20, 69, 75, 13, 55, 83, 44]
42. [83, 43, 21, 70, 18, 52, 53, 89][7:]
[89]
43.[56, 34, 23, 18, 96, 29, 49, 82, 12][6:]
[49, 82, 12]
43. slice(6,None,-3) or [6::-3]
[49, 18, 56]
46.[71, 80, 86, 31, 91, 86][4:]
[91, 86]
46. slice(4,None,-1) or [4::-1]
[91, 31, 86, 80, 71]
48.[38, 19, 98, 20, 29, 63, 24, 60, 53, 80][-3:]
[60, 53, 80]
48. slice(-3,None,-2) or [-3::-2]
[60, 63, 20, 19]
49.[49, 77, 55, 58, 75, 66, 97, 12, 77, 80, 44, 54][-5:]
[12, 77, 80, 44, 54]
49. slice(-5,None,2) or [-5::2]
[12, 80, 54]
50. [94, 86, 51, 95, 87, 70][-1:]
[70]
51.[56, 82, 13, 61, 79, 99, 62, 48, 66, 61, 40][-9:]
[13, 61, 79, 99, 62, 48, 66, 61, 40]
51. slice(-9,None,-2) or [-9::-2]
[13, 56]
54.[16, 86, 42, 47, 75, 88, 17, 66, 60, 95, 97, 48][7:11]
[66, 60, 95, 97]
54. slice(7,11,-1) or [7:11:-1]
[]
56. [81, 95, 99, 26, 85, 91, 25, 97, 69, 53, 92, 51]
slice(-3,-14,-3) or [-3:-14:-3]
[53, 25, 26, 81]
60. [91, 96, 35, 18, 63, 83][1:]
[96, 35, 18, 63, 83]
63. [37, 99, 31][-2:]
[99, 31]
65.[22, 48, 80, 72, 28, 16, 60, 21, 54, 24, 57][-9:]
[80, 72, 28, 16, 60, 21, 54, 24, 57]
65. slice(-9,None,2) or [-9::2]
[80, 28, 60, 54, 57]
67.[84, 80, 38, 51, 44, 57, 25, 56, 82, 14, 37][1:4]
[80, 38, 51]
67. slice(1,4,0) or [1:4:0]
[53, 52]
68.[70, 90, 71, 67, 78, 99, 18, 44][5:]
[99, 18, 44]
68. slice(5,None,-2) or [5::-2]
[99, 67, 90]
Slice Exercises - Part 2
0. [93, 32, 55, 34, 11][4:]
1. [84, 32, 21, 89, 27, 82, 72, 47, 96, 93][11:]
slice(11,None,-2) or [11::-2]
2. [73, 67, 35, 40, 40, 25, 91, 56, 91, 75, 16][-3:]
slice(-3,None,-1) or [-3::-1]
3. [50, 65, 90, 98, 38, 24, 52, 60, 32, 11, 11, 99, 28][2:]
slice(2,None,0) or [2::0]
4. [76, 42, 65, 14, 69, 41, 23, 38][-11:]
5. [60, 98, 42, 15, 33, 96, 15, 35, 80, 78][3:]
slice(3,None,-1) or [3::-1]
9. [65, 75, 77][2:]
10. [13, 87, 47, 15, 59, 19, 80, 88, 55, 47, 66, 10][11:12]
12. [100, 21, 85, 56, 53, 42, 87, 38, 50, 51, 63, 23]
slice(2,None,2) or [2::2]
13. [89, 61, 35, 32][-1:]
slice(-1,None,-1) or [-1::-1]
14. [66, 70, 26, 84, 51, 11, 95, 86, 59, 27, 59, 61][-12:]
slice(-12,None,-2) or [-12::-2]
15. [63, 18, 48, 10, 49, 67, 52, 57][0:0]
16. [61, 16, 14, 63, 22, 36, 42, 17][6:]
19. [58, 11, 55, 12, 41][3:6]
20. [17, 46, 17, 81, 46, 71, 53, 16, 23, 72]
slice(2,None,-1) or [2::-1]
24. [38, 95, 83, 34, 40, 18, 42, 29][-4:]
28. [74, 15, 17, 77, 16, 91][1:]
slice(1,None,2) or [1::2]
29. [76, 23, 55, 70, 59, 83, 26, 91][-5:]
30. [80, 62][1:2]
31. [83, 81, 100, 51, 69, 38, 24, 74, 29, 61, 87, 79, 72][10:14]
slice(10,14,1) or [10:14:1]
39. [34, 54, 18, 42, 53][-2:]
slice(-2,None,-2) or [-2::-2]
41. [99, 49, 14][-2:]
42. [18, 35, 33, 19, 63, 69, 77, 68, 47, 63, 69, 99][-3:]
45. [90, 52, 10, 15, 42, 43, 32, 39]
slice(2,None,4) or [2::4]
48. [45, 23, 57, 60, 11, 10, 66, 57, 27, 30, 19]
slice(8,None,1) or [8::1]
55. [37, 15, 31, 66, 77][4:]
57. [94, 11, 72, 87]
slice(3,None,-1) or [3::-1]
58. [50, 78, 100, 14, 34, 30, 25, 24, 53, 73, 57][8:]
slice(8,None,-2) or [8::-2]
59. [95, 73, 62, 71, 88, 41, 83][:0]
60. [100]
slice(1,None,-1) or [1::-1]
61. [13, 41, 31, 71, 23, 45, 84, 41, 15][4:]
slice(4,None,3) or [4::3]
62. [32, 84, 71][-2:]
slice(-2,None,1) or [-2::1]
64. [68, 11, 26][1:]
slice(1,None,-1) or [1::-1]
67. [52, 52, 91, 10, 74, 12, 20, 23, 16, 47][-7:]
slice(-7,None,1) or [-7::1]
68. [100, 100, 60, 86, 86, 28, 97, 52, 56, 72, 44][-3:]
69. [30, 79, 20, 28, 48, 71, 81, 57, 19, 16, 34, 94][0:-13]
70. [41, 53, 13, 59, 39, 31][2:]
slice(2,None,1) or [2::1]
71. [90, 86, 50, 96, 90, 81][3:]
72. [66, 23, 63, 92, 51, 24, 16, 34, 59, 56, 21, 19][-5:]
slice(-5,None,1) or [-5::1]
74. [58, 59, 57, 92, 96, 91, 74, 24, 36, 83, 43, 88][0:-3]
slice(None,-3,-1) or [0:-3:-1]
77. [85, 26, 74, 85, 39, 77, 98][1:]
slice(1,None,2) or [1::2]
Slice Keys - Part 2
0. [93, 32, 55, 34, 11][4:]
[11]
1.[84, 32, 21, 89, 27, 82, 72, 47, 96, 93][11:]
[]
1. slice(11,None,-2) or [11::-2]
[93, 47, 82, 89, 32]
2.[73, 67, 35, 40, 40, 25, 91, 56, 91, 75, 16][-3:]
[91, 75, 16]
2. slice(-3,None,-1) or [-3::-1]
[91, 56, 91, 25, 40, 40, 35, 67, 73]
3.[50, 65, 90, 98, 38, 24, 52, 60, 32, 11, 11, 99, 28][2:]
[90, 98, 38, 24, 52, 60, 32, 11, 11, 99, 28]
3. slice(2,None,0) or [2::0]
[91, 56, 91, 25, 40, 40, 35, 67, 73]
4. [76, 42, 65, 14, 69, 41, 23, 38][-11:]
[76, 42, 65, 14, 69, 41, 23, 38]
5.[60, 98, 42, 15, 33, 96, 15, 35, 80, 78][3:]
[15, 33, 96, 15, 35, 80, 78]
5. slice(3,None,-1) or [3::-1]
[15, 42, 98, 60]
9. [65, 75, 77][2:]
[77]
10. [13, 87, 47, 15, 59, 19, 80, 88, 55, 47, 66, 10][11:12]
[10]
12. [100, 21, 85, 56, 53, 42, 87, 38, 50, 51, 63, 23]
slice(2,None,2) or [2::2]
[85, 53, 87, 50, 63]
13.[89, 61, 35, 32][-1:]
[32]
13. slice(-1,None,-1) or [-1::-1]
[32, 35, 61, 89]
14.[66, 70, 26, 84, 51, 11, 95, 86, 59, 27, 59, 61][-12:]
[66, 70, 26, 84, 51, 11, 95, 86, 59, 27, 59, 61]
14. slice(-12,None,-2) or [-12::-2]
[66]
15. [63, 18, 48, 10, 49, 67, 52, 57][0:0]
[]
16. [61, 16, 14, 63, 22, 36, 42, 17][6:]
[42, 17]
19. [58, 11, 55, 12, 41][3:6]
[12, 41]
20. [17, 46, 17, 81, 46, 71, 53, 16, 23, 72]
slice(2,None,-1) or [2::-1]
[17, 46, 17]
24. [38, 95, 83, 34, 40, 18, 42, 29][-4:]
[40, 18, 42, 29]
28.[74, 15, 17, 77, 16, 91][1:]
[15, 17, 77, 16, 91]
28. slice(1,None,2) or [1::2]
[15, 77, 91]
29. [76, 23, 55, 70, 59, 83, 26, 91][-5:]
[70, 59, 83, 26, 91]
30. [80, 62][1:2]
[62]
31.[83, 81, 100, 51, 69, 38, 24, 74, 29, 61, 87, 79, 72][10:14]
[87, 79, 72]
31. slice(10,14,1) or [10:14:1]
[87, 79, 72]
39.[34, 54, 18, 42, 53][-2:]
[42, 53]
39. slice(-2,None,-2) or [-2::-2]
[42, 54]
41. [99, 49, 14][-2:]
[49, 14]
42. [18, 35, 33, 19, 63, 69, 77, 68, 47, 63, 69, 99][-3:]
[63, 69, 99]
45. [90, 52, 10, 15, 42, 43, 32, 39]
slice(2,None,4) or [2::4]
[10, 32]
48. [45, 23, 57, 60, 11, 10, 66, 57, 27, 30, 19]
slice(8,None,1) or [8::1]
[27, 30, 19]
55. [37, 15, 31, 66, 77][4:]
[77]
57. [94, 11, 72, 87]
slice(3,None,-1) or [3::-1]
[87, 72, 11, 94]
58.[50, 78, 100, 14, 34, 30, 25, 24, 53, 73, 57][8:]
[53, 73, 57]
58. slice(8,None,-2) or [8::-2]
[53, 25, 34, 100, 50]
59. [95, 73, 62, 71, 88, 41, 83][:0]
[]
60. [100]
slice(1,None,-1) or [1::-1]
[100]
61.[13, 41, 31, 71, 23, 45, 84, 41, 15][4:]
[23, 45, 84, 41, 15]
61. slice(4,None,3) or [4::3]
[23, 41]
62.[32, 84, 71][-2:]
[84, 71]
62. slice(-2,None,1) or [-2::1]
[84, 71]
64.[68, 11, 26][1:]
[11, 26]
64. slice(1,None,-1) or [1::-1]
[11, 68]
67.[52, 52, 91, 10, 74, 12, 20, 23, 16, 47][-7:]
[10, 74, 12, 20, 23, 16, 47]
67. slice(-7,None,1) or [-7::1]
[10, 74, 12, 20, 23, 16, 47]
68. [100, 100, 60, 86, 86, 28, 97, 52, 56, 72, 44][-3:]
[56, 72, 44]
69. [30, 79, 20, 28, 48, 71, 81, 57, 19, 16, 34, 94][0:-13]
[]
70.[41, 53, 13, 59, 39, 31][2:]
[13, 59, 39, 31]
70. slice(2,None,1) or [2::1]
[13, 59, 39, 31]
71. [90, 86, 50, 96, 90, 81][3:]
[96, 90, 81]
72.[66, 23, 63, 92, 51, 24, 16, 34, 59, 56, 21, 19][-5:]
[34, 59, 56, 21, 19]
72. slice(-5,None,1) or [-5::1]
[34, 59, 56, 21, 19]
74.[58, 59, 57, 92, 96, 91, 74, 24, 36, 83, 43, 88][0:-3]
[58, 59, 57, 92, 96, 91, 74, 24, 36]
74. slice(None,-3,-1) or [0:-3:-1]
[88, 43]
77.[85, 26, 74, 85, 39, 77, 98][1:]
[26, 74, 85, 39, 77, 98]
77. slice(1,None,2) or [1::2]
[26, 85, 77]
Last updated