1. To match.groupdict() επιστρέφει ένα dictionary
2. Έχουμε το container stations (λίστα για την ώρα)
- Κώδικας: Επιλογή όλων
self.stations = []
3. Κάθε στοιχείο του container αυτού είναι ένα dictionary
- Κώδικας: Επιλογή όλων
self.stations.append(match.groupdict())
άρα όταν λέμε
- Κώδικας: Επιλογή όλων
for station in self.stations
Το station είναι ένα dictionary. Το station είναι ένα αυτόνομο object. Τα "cname" και το "weblink" ανήκουν στο σταθμό και όχι κάπου αλλού, για αυτό λέω να μην είναι σε ξεχωριστό dictionary. To station είναι η βασική μας μονάδα.
To self.stations δεν είναι υποχρεωτικό να είναι λιστα. Απλά έτσι το εχουμε κάνει για την ώρα.
Από εκεί και πέρα, αυτό που προτείνεις στο δεύτερο code tag είναι συντακτικό λάθος. Μήπως εννοείς nested dicts, δηλαδή αυτό?
- Κώδικας: Επιλογή όλων
stations = {'1197': { 'logo': u'/logos/gr/mini/nologo.gif', 'title': u'\u0386\u03bb\u03c6\u03b1 Radio 96', 'city': u'\u03a3\u0395\u03a1\u03a1\u0395\u03a3'}, ...}
Το τι είναι πιο κατάλληλο εξαρτάται από το τι θέλουμε να κάνουμε. Οι λίστες είναι το γενικότερο από όλα και επιτρέπουν να κάνεις με περισσότερη η λιγότερη ευκολία τα πάντα. Είναι νομίζω καλή τακτική να ξεκινάς με λίστα και στην πορεία αν δεις ότι χρειάζεσαι κάτι άλλο τις αλλάζεις.
Οι λίστες είναι κατάλληλες όταν θέλεις να διατρέχεις τα στοιχεία σου διαδοχικά το ένα μετά το άλλο με συγκεκριμένη σειρά. Σε ενδιαφέρει δηλαδή το index. Τα dicts έχουν νόημα όταν δε σε ενδιαφέρει η σειρά (δεν είναι sorted γιατί) αλλά σε ενδιαφέρει να μπορείς να βρεις κάποιο συγκεκριμένο στοιχείο του βάση κάποιου key-value ζεύγους
Αν θέλουμε να βρίσκουμε τον 56ο σταθμό της λίστας. Θέλουμε list. Αν θέλουμε να βρίσκουμε τον σταθμό "Ubuntu.gr radio" θέλουμε dict.




