Python lists - cheatsheet

Python lists and tuples

Definition

  • Define mutable list

    1
    2
    3
    4
    # assign
    bikes = ["mountain bike", "motorbike"]
    # clone a list
    copy_of_bikes = bikes[:]
  • Define inmutable lists (tuples)

    1
    2
    3
    dimensions = (800, 600)
    # only overwriting the whole tuple is allowed
    dimensions = (1200, 900)
  • Get item

    1
    2
    3
    4
    # get first
    first_bike = bikes[0]
    # get last
    last_bike = bikes[-1]
  • Pop item (remove after get)

    1
    2
    3
    4
    5
    6
    7
    #pop last
    most_recent_bike = bikes.pop()
    print(most_recent_bike)

    # you can also pop other items
    first_item_in_bikes = bikes.pop(0)
    print(first_item_in_bikes)
  • Get list length

    1
    num_bikes = len(bikes)

Basic modifications

Edit existing elememy

  • Set new value
    1
    2
    3
    bikes = ["mountain bike", "motorbike"]
    bikes[0] = "custom mountain bike"
    bikes[-2] = "old bike"

Add and remove items

  • Generic
    1
    2
    3
    4
    bikes = []
    bikes.append("mountain bike")
    bikes.append("aegean blue")
    bikes.remove("aegean blue")
    • By position
      1
      2
      3
      4
      bikes = []
      bikes.insert(0, "mountain bike")
      bikes.insert(1, "motorbike")
      del bikes[-1]

Advanced modification

Sort

  • Permanent sort
    1
    2
    3
    4
    # in alphabetical order
    bikes.sort()
    # in reverse alphabetical order
    bikes.sort(reverse=True)
  • Temporal sort
    1
    2
    3
    4
    # in alphabetical order
    print(sorted(bikes))
    # in reverse alphabetical order
    print(sorted(bikes, reverse=True))
  • Reverse order
    1
    bikes.reverse() 

Iteration

  • Loops

    • Simple loop
      1
      2
      3
      upper_case_bikes = []
      for bike in bikes:
      upper_names.append(bike.upper())
    • Expression compression
      1
      upper_case_bikes = [bike.upper() for bike in bikes]
  • Range

    • Print a range
      1
      2
      3
      4
      5
      6
      #  Implicit: from 1 to 1000
      for number in range(1001):
      print(number)
      # Explicit: from 1 to 1000
      for number in range(1, 1001):
      print(number)
    • Expression compression
      1
      double_values = [x*2 for x in range(1, 11)]

Simple statistics

  • Minimum value
    1
    2
    ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77]
    youngest = min(ages)
  • Maximum value
    1
    2
    ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77]
    oldest = maz(ages)
  • Arithmetic
    1
    2
    ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77]
    total_years = sum(ages)

Slicing

  • Slice segments
    1
    2
    3
    4
    finishers = ["Ada", "Bob", "Charles", "Daniel", "Ernest"]
    first_two = finishers[:2]
    middle_three = finishers[1:4]
    last_three = finishers[-1:]