masteripper Δημοσ. 13 Σεπτεμβρίου 2022 Share Δημοσ. 13 Σεπτεμβρίου 2022 (επεξεργασμένο) Γεια χαρά σε όλους. Ψάχνω 1 σπάσιμο λίστας (το οποίο μπορεί να γίνει με Loop απλώς λέω μήπως το αποφύγω) το οποίο να επιστρέφει υπολίστες ιδίου μήκους αλλά να μην επαναλαμβάνονται τα στοιχεία στην υπολίστα π.χ [93, 69, 29, 30, 78, 97, 66, 19, 19] Η ανωτέρω λίστα θέλω να την σπάσω σε 3 (χ) υπολίστες αλλά απαραίτητα η υπολίστα να μην έχει διπλά π.χ [93,69,19] [29,30,78] [66,19,97] Το σπάσιμο θα είναι δυναμικό δλδ δεν θα πηγαίνει με την σειρά....εκτός αν είναι αναγκαίο (το οποίο θα με αναγκασει να κάνω 1 επιπλέον σορτάρισμα) Επεξ/σία 13 Σεπτεμβρίου 2022 από masteripper Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
archer100 Δημοσ. 13 Σεπτεμβρίου 2022 Share Δημοσ. 13 Σεπτεμβρίου 2022 Ενας τροπος με χρηση βιβλιοθηκων: Χωρις βιβλιοθηκες δε νομιζω πως μπορεις να αποφυγεις τα loops from collections import Counter import random l = [93, 69, 29, 30, 78, 97, 66, 19, 19] d = dict(Counter(l)) res = [] while True: new = random.sample(d.keys(), 3) res.append(new) for x in new: d[x] -= 1 d = {k:v for k, v in d.items() if v!=0} if len(d)==0: break print(res) #[[93, 66, 97], [29, 19, 69], [78, 30, 19]] 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
masteripper Δημοσ. 14 Σεπτεμβρίου 2022 Μέλος Share Δημοσ. 14 Σεπτεμβρίου 2022 Δυστυχως χωρίς loop δεν βγαίνει...ήλπιζα σε κανένα κολπάκι base_list = [93,69,29,30,78,97,66,19,19] list_of_lists = list(zip(*(iter(base_list),) * 3)) loop_condition = True while loop_condition: i=1 for sublist in list_of_lists: if len(sublist) == len(set(sublist)): if i == len(list_of_lists): loop_condition = False i += 1 pass else: random.shuffle(base_list) list_of_lists = list(zip(*(iter(base_list),) * 3)) break 2 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
k33theod Δημοσ. 14 Σεπτεμβρίου 2022 Share Δημοσ. 14 Σεπτεμβρίου 2022 Το πρόβλημα να πω την αλήθεια δεν το κατάλαβα καθόλου και το αυθαίρετο παράδειγμα με μπέρδεψε. Γιατί θες παραδείγματος χαρίν 3 υπολίστες και όχι 2, είναι τυχαίο ότι η λίστα σου έχει αριθμό στοιχείων πολλαπλάσιο του 3? Γενικά όμως όταν έχουμε να κάνουμε με πολλά δεδομένα και θέλουμε να τα προσπελάσουμε υπάρχουν 2 τρόποι οι λούπες for, while klp και η αναδρομή. Η συνάρτηση δηλαδή καλεί τον εαυτό της. 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
masteripper Δημοσ. 15 Σεπτεμβρίου 2022 Μέλος Share Δημοσ. 15 Σεπτεμβρίου 2022 17 ώρες πριν, k33theod είπε Το πρόβλημα να πω την αλήθεια δεν το κατάλαβα καθόλου και το αυθαίρετο παράδειγμα με μπέρδεψε. Γιατί θες παραδείγματος χαρίν 3 υπολίστες και όχι 2, είναι τυχαίο ότι η λίστα σου έχει αριθμό στοιχείων πολλαπλάσιο του 3? Γενικά όμως όταν έχουμε να κάνουμε με πολλά δεδομένα και θέλουμε να τα προσπελάσουμε υπάρχουν 2 τρόποι οι λούπες for, while klp και η αναδρομή. Η συνάρτηση δηλαδή καλεί τον εαυτό της. Ναι η αναδρομή είναι η 2η λύση απλώς είναι λίγο πιο κουραστική στην ιχνηλάτηση. Πάντως με την λούπα επειδή την δοκίμασα σε όλες τις εκδοχές δουλεύει όπως πρέπει Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα