Upon instantiation of a list, all elements contain values from the initializer list (i.e., the list of values inside the square brackets). If no initializer list is provided, the list is empty.
If the list is an expression WITH square brackets, then check if there is a colon in the square brackets. If there is a colon inside of the square brackets, it is a Slicing Multiple Values from a List. Otherwise, it is an Accessing List Element.
If adding a value elsewhere in the list, use the insert method to add the new value at the specified index. Existing values starting from that index are shifted to the right.
Determine the list that is being iterated over. If the expression also involves a range(len(list_name)), then the list is being traversed by index. The range function can either take one argument (the length of the list) or 3 arguments (the starting index, ending index, and step size). If the range function takes one argument, it will start at 0 and go to the length of the list - 1. If the range function takes 3 arguments, it will start at the first argument and go to the second argument - 1, incrementing by the third argument. Otherwise, if range is not used, then the list is being traversed by value.
Determine the loop control variable that is being used to iterate over the list. The loop control variable will take on each value or index in the list, one at a time, depending on whether we are iterating by value or by index.
The loop control variable is used to access the list element in the body of the loop. If iterating by index, the loop control variable is used as an index to access or update the list element. If iterating by value, the loop control variable is used directly to access the list element (no updates are possible).
The list can also be added to with the append or insert methods. The append method adds a new value to the end of the list, while the insert method adds a new value at the specified index. Existing values starting from that index are shifted to the right.
When calling a function, put variable name that represents the list as an argument in the method call. Remember that when passing a list as an argument that changes made by the function to the list are persistent. The list itself is not copied, so the function does not have its own copy of the list. However, the one exception to this is if you assign the argument to reference a different list in memory; then you will no longer be modifying the original list.
Q1: The following code is intended to store the sum of all the values in the integer list arr in the variable total. Which of the following code segments can be used to replace # missing code/ so that the code works as intended?
# I.
for pos in range(len(arr)):
total += arr[pos]
# ----
# II.
for pos in range(len(arr), 0, -1):
total += arr[pos]
# ----
# III.
pos = 0
while pos < len(arr):
total += arr[pos]
pos += 1
index = 0
count = 0
m = -1
for outer in range(len(nums)):
count = 0
for inner in range(outer+1, len(nums)):
if nums[outer] == nums[inner]:
count += 1
if count > m:
index = outer
m = count
print(index)
Prints the maximum value that occurs in the list nums
Q3: The following code is intended to store the largest value in the integer list arr in the variable max_val. Which of the following best describes the conditions under which the code will not work as intended?
Q4: The following code segments are supposed to find the maximum value in a list of integers. Assuming that the list arr has been declared and contains integer values, which of the following code segments will correctly assign the maximum value in the list to the variable max?
# I.
max = 100
for value in arr:
if max < value:
max = value
# ----
# II.
max = 0
first = True
for value in arr:
if first:
max = value
first = False
elif max < value:
max = value
# ----
# III.
max = arr[0]
for k in range(1, len(arr)):
if max < arr[k]:
max = arr[k]
# returns index of first occurrence of val in arr after
# position start;
# returns len(arr) if val is not found
def find_next(arr, val, start):
pos = start + 1
while (CONDITION):
pos += 1
return pos
For example, the execution of the following code segment should result in the value 4 being printed: