String naar list converter

In deze oefening werken we met lijsten die verkeerdelijk opgeslagen zijn als string in plaats van als list.

Het doel is om deze strings op correcte wijze terug te converteren naar een Python-lijst, zodat die gebruikt kunnen worden voor verdere dataverwerking.

Opgave

Functie 1: string_to_list

Maak een functie string_to_list die één argument heeft: een string.

De string stelt een eenvoudige lijst voor, maar is als string opgeslagen in plaats van als Python-lijst. De lijst bevat:

  1. Elementen die gescheiden zijn door een komma, waarbij na elke komma een spatie volgt.
  2. De elementen zijn
    • positieve gehele getallen, of
    • strings, omgeven door enkele aanhalingstekens ('). Dit kunnen ook lege strings zijn.
  3. De lijst is omgeven door rechte haakjes ([ ]). Er staan geen spaties voor of na de rechte haakjes.
  4. De lijst kan ook leeg zijn.

De functie moet de string correct omzetten naar een Python-lijst en retourneren.

Voorbeelden

>>> >>> string_to_list("[2111, '', 'EGEE', 'GG', '', 3365]")
[2111, '', 'EGEE', 'GG', '', 3365]
>>> string_to_list("[]")
[]

Functie 2: string_to_nestedlist

Maak een functie string_to_nestedlist die één argument heeft: een string.

Deze string stelt een geneste lijst voor, wat betekent dat de hoofdlijst sublijsten bevat.

  • De elementen van de hoofdlijst zijn gescheiden door een komma, waarbij na elke komma een spatie volgt.
  • Elke sublijst voldoet aan dezelfde eigenschappen als bij de functie string_to_list.
  • Zowel de hoofdlijst als de sublijsten kunnen leeg zijn.

De functie moet de geneste structuur correct omzetten naar een geneste Python-lijst en retourneren.

Voorbeelden

>>> >>> string_to_nestedlist("[['BDGE', 'BDCB', 2458], ['ADDG', 2341, 'CDB', 2753], [1539]]")
[['BDGE', 'BDCB', 2458], ['ADDG', 2341, 'CDB', 2753], [1539]]
>>> string_to_nestedlist("[]")
[]