# Chapter 10 Quiz >> Python Data Structures

## Chapter 10 Quiz >> Python Data Structures

1. What is the difference between a Python tuple and Python list?

• Lists are indexed by integers and tuples are indexed by strings
• Lists are mutable and tuples are not mutable
• Tuples can be expanded after they are created and lists cannot
• Lists maintain the order of the items and tuples do not maintain order

2. Which of the following methods work both in Python lists and Python tuples?

• sort()
• append()
• reverse()
• pop()
• index()

3. What will end up in the variable y after this code is executed?

`x , y = 3, 4`
• A two item list
• 3
• A dictionary with the key 3 mapped to the value 4
• A two item tuple
• 4

4. In the following Python code, what will end up in the variable y?

`x = { 'chuck' : 1 , 'fred' : 42, 'jan': 100}y = x.items()`
• A list of integers
• A tuple with three integers
• A list of tuples
• A list of strings

5. Which of the following tuples is greater than x in the following Python sequence?

`x = (5, 1, 3)if ??? > x :…`
• (0, 1000, 2000)
• (6, 0, 0)
• (5, 0, 300)
• (4, 100, 200)

6. What does the following Python code accomplish, assuming the c is a non-empty dictionary?

`tmp = list()for k, v in c.items() :tmp.append( (v, k) )`
• It computes the average of all of the values in the dictionary
• It sorts the dictionary based on its key values
• It computes the largest of all of the values in the dictionary
• It creates a list of tuples where each tuple is a value, key pair

7. If the variable data is a Python list, how do we sort it in reverse order?

• data = sortrev(data)
• data.sort.reverse()
• data = data.sort(-1)
• data.sort(reverse=True)

8. Using the following tuple, how would you print ‘Wed’?

`days = ('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun')`
• print(days[2])
• print[days(2)]
• print(days[1])
• print(days(2))
• print(days.get(1,-1))
• print(days{2})

9. In the following Python loop, why are there two iteration variables (k and v)?

`c = {'a':10, 'b':1, 'c':22}for k, v in c.items() :…`
• Because the keys for the dictionary are strings
• Because the items() method in dictionaries returns a list of tuples
• Because there are two items in the dictionary
• Because for each item we want the previous and current key

10. Given that Python lists and Python tuples are quite similar – when might you prefer to use a tuple over a list?

• For a temporary variable that you will use and discard without modifying
• For a list of items that want to use strings as key values instead of integers
• For a list of items you intend to sort in place
• For a list of items that will be extended as new items are found