+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Generare stringhe random solo una volta

  1. #1
    L'avatar di crash.!
    crash.! non è in linea Novello
    Post
    29

    Generare stringhe random solo una volta

    Ciao ragazzi, una piccola domanda
    Ho creato una lista in cui ho messo 22 oggetti stringa. Di conseguenza col random.choice prendo 22 di questi generati casualmente e stampati in un dizionario.
    Il problema è che molti di questi oggetti vengono generati più di una volta, mentre si devono presentare solo una volta...in modo che si presenti OGNI oggetto immesso da me, ma in modo casuale una sola volta.
    Esiste una funzione del Python che riguardi la funzione random per caso?

  2. #2
    L'avatar di M.A.W. 1968
    M.A.W. 1968 non è in linea Moderatore Globale Ultimo blog: Classificazione dei sistemi embedded
    Luogo
    Granducato di Toscana
    Post
    836
    Blogs
    49
    In sostanza, intendi banalmente generare una permutazione della tua lista, creando una lista di pari lunghezza e contenente i medesimi elementi, ma in posizioni diverse. Se è obbligatorio che tutti gli elementi occupino posizioni diverse da quella di partenza, si ha un particolare tipo di permutazione vincolata, che tecnicamente prende il nome di derangement, tradotto in certa letteratura come deragliamento (ma è meglio usare direttamente il termine originale).

    Ci sono innumerevoli recipes per la generazione combinatoria in Python. Tra le più semplici, dai un'occhiata ad esempio a questo codice per cominciare a farti un'idea. Naturalmente, per Python 2.6 e superiori, itertools.permutations offre anche una minestra scodellata per gli oggetti combinatori più semplici, come nel caso attuale.
    Ultima modifica di M.A.W. 1968; 09-03-2012 19:28 
    Tutti gli utenti sono pregati di prendere visione del Regolamento del Forum e di rispettarlo.

    Sì, un blog ce l'ho perfino io: gli è che mi manca il tempo... già che ci siete, leggete questa selezione di parole famose di alcuni tra i più grandi geni.

    • Un plauso a Grisha Perelman, raro esempio di genuino anticonformismo umano e scientifico.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi