Skip to main content

How to Access and Print Specific Items in Python Lists

Efficiently accessing and printing specific elements or subsets of elements from a list is fundamental to Python programming.

This guide explores various techniques, including indexing, slicing, using for loops for conditional printing, and handling nested lists (lists of lists).

Accessing Single List Items by Index

Positive Indexing

Python lists are zero-indexed, meaning the first element is at index 0, the second at index 1, and so on. Use square brackets [] with the index to access an element:

my_list = ['tutorial', 'reference', '.', 'com']
first = my_list[0]
print(first) # Output: tutorial

Negative Indexing

Negative indices count from the end of the list. -1 is the last element, -2 is the second-to-last, etc.:

my_list = ['tutorial', 'reference', '.', 'com']
last = my_list[-1]
print(last) # Output: com

Finding an Item's Index

If you know the value of an item but need its index, use the index() method:

my_list = ['tutorial', 'reference', '.', 'com']
variable = 'tutorial'
index = my_list.index(variable) # Find the index of 'tutorial'
print(index) # Output: 0
print(my_list[index]) # Output: tutorial (accessing via the found index)
  • The index() method returns the index of a value in the list.

Accessing Multiple Items with Slicing

Slicing lets you extract a portion of a list, creating a new list. The syntax is my_list[start:stop:step].

  • start: The index to start at (inclusive). Defaults to 0 if omitted.
  • stop: The index to stop at (exclusive). Defaults to the end of the list if omitted.
  • step: The increment between elements. Defaults to 1 if omitted.

Slicing from the Beginning

my_list = ['tutorial', 'reference', '.', 'com']
print(my_list[:2]) # Output: ['tutorial', 'reference'] (first two elements)
  • The [:2] is used to get elements from the beginning to index 2 (exclusive).

Slicing from the End

my_list = ['tutorial', 'reference', '.', 'com']
print(my_list[-2:]) # Output: ['.', 'com'] (last two elements)
  • The [-2:] slice gets the last two elements, because the negative index starts from the end.

Slicing a Range in the Middle

my_list = ['tutorial', 'reference', '.', 'com']

start_index = my_list.index('tutorial')
stop_index = my_list.index('.')

print(my_list[start_index:stop_index]) # Output: ['tutorial', 'reference']
  • This will select the elements between two elements with known value.

Conditional Printing with Loops

To print only elements that meet a specific condition, use a for loop and an if statement:

my_list = ['tutorial', 'reference', '.', 'com']

for item in my_list:
if 'had' in item: # Check if 'had' is a substring
print(item) # Output: reference
  • The in operator checks for substring presence. You can apply any condition you need within the if statement.

Accessing Items in Nested Lists (Lists of Lists)

For nested lists, use multiple indices:

list_of_lists = [['tutorial', 'reference'], ['.', 'com']]
print(list_of_lists[0][0]) # Output: tutorial (first element of the first sublist)
print(list_of_lists[0][1]) # Output: reference (second element of the first sublist)
  • list_of_lists[0] accesses the first sublist.
  • list_of_lists[0][0] then accesses the first element within that sublist.