Dictionaries Methods

Update

  1. # update multiple items
  2. person = {"name": "Alice"}
  3. person.update({"age": 25, "city": "NYC"})
  4. #ans: {"name": "Alice", "age": 25, "city": "NYC"}

Pop

  1. # remove and return value
  2. person = {"name": "Alice", "age": 25}
  3. age = person.pop("age")
  4. #ans: age is 25
  5. #ans: person is {"name": "Alice"}

Popitem

  1. # remove and return last item
  2. person = {"name": "Alice", "age": 25}
  3. item = person.popitem()
  4. #ans: item is ("age", 25)

Setdefault

  1. # get or set default
  2. person = {"name": "Alice"}
  3. age = person.setdefault("age", 0)
  4. #ans: age is 0
  5. #ans: person is {"name": "Alice", "age": 0}

Clear

  1. # remove all items
  2. person = {"name": "Alice", "age": 25}
  3. person.clear()
  4. #ans: {}

Copy

  1. # shallow copy
  2. person = {"name": "Alice"}
  3. person_copy = person.copy()
  4. #ans: person_copy is {"name": "Alice"}

Fromkeys

  1. # create dict from keys
  2. keys = ["a", "b", "c"]
  3. d = dict.fromkeys(keys, 0)
  4. #ans: {"a": 0, "b": 0, "c": 0}

Exercises - Part 1

  1. # update behavior?
  2. d = {"a": 1}
  3. d.update({"b": 2, "a": 10})
  4. #ans: {"a": 10, "b": 2}

Exercises - Part 2

  1. # pop with default?
  2. d = {"a": 1}
  3. d.pop("b", 0)
  4. #ans: 0

Exercises - Part 3

  1. # pop without default?
  2. d = {"a": 1}
  3. d.pop("b")
  4. #ans: KeyError

Exercises - Part 4

  1. # setdefault existing key?
  2. d = {"a": 1}
  3. d.setdefault("a", 10)
  4. #ans: 1 (doesn't change existing)

Exercises - Part 5

  1. # popitem on empty?
  2. d = {}
  3. d.popitem()
  4. #ans: KeyError

Exercises - Part 6

  1. # fromkeys default?
  2. keys = ["a", "b"]
  3. d = dict.fromkeys(keys)
  4. #ans: {"a": None, "b": None}

Exercises - Part 7

  1. # copy is shallow?
  2. d = {"a": [1, 2]}
  3. d2 = d.copy()
  4. d2["a"].append(3)
  5. #ans: d is {"a": [1, 2, 3]}

Exercises - Part 8

  1. # clear return?
  2. d = {"a": 1}
  3. result = d.clear()
  4. #ans: result is None
  5. #ans: d is {}

Exercises - Part 9

  1. # update from pairs?
  2. d = {"a": 1}
  3. d.update([("b", 2), ("c", 3)])
  4. #ans: {"a": 1, "b": 2, "c": 3}

Exercises - Part 10

  1. # multiple setdefault?
  2. d = {}
  3. d.setdefault("a", []).append(1)
  4. d.setdefault("a", []).append(2)
  5. #ans: {"a": [1, 2]}

Google tag (gtag.js)