Python tilfeldig blandingsmetode

Python tilfeldig blandingsmetode

“Den tilfeldige shuffle () -metoden i Python brukes til å blande eller blande sammen en hvilken som helst sekvens eller streng. Når vi omorganiserer elementene i en liste tilfeldig, sier vi at listen er blandet. Du kan erstatte det tilfeldige argumentet med en tilpasset tilfeldig metode hvis du trenger å blande deg med dataene dine. Dette vil instruere blanding () -funksjonen for hvordan du randomiserer hvert element i listen. I denne artikkelen vil du lære å randomisere Python -listeelementer ved å blande en liste. Spesifikt vil blandingen () og tilfeldige () metodene til Python Random -modulen bli dekket i denne opplæringen. Det er ganske nyttig å kunne blande en Python -liste og generere et tilfeldig resultat. Det kan for eksempel være ekstremt nyttig, når du oppretter et Python -spill hvis det kreves et tilfeldig utfall. I tillegg kan det være utrolig nyttig i datarelaterte oppgaver der du kanskje trenger å oppnå tilfeldige resultater.”

Tilfeldig shuffle () -funksjon i python

Ved hjelp av Random Shuffle () -metoden kan du blande en sekvens i Python, for eksempel en liste eller en streng. To parametere aksepteres av det tilfeldige.Shuffle () -metode. Den første parameteren er "sekvens", og den andre er "tilfeldig". Pythons shuffle () -metode omorganiserer elementene i en sekvens (en liste, en streng eller en tuple). Den tilfeldige modulen i Python er et pseudo-tilfeldig, ikke et tilfeldig bibliotek; det er prng. For eksempel deterministisk. For å lage et tilfeldig tall bruker modulen "tilfeldig" en frøverdi. Standard frøverdi er gjeldende systemtid. Vi kan endre/endre utgangen ved å endre frøverdien.

Syntaks:

tilfeldig.Shuffle (sekvens, tilfeldig)

Parametere

Den første parameteren er påkrevd, men "tilfeldig”Er valgfritt.

Sekvens: Enhver sekvens som vi ønsker å blande kan være sekvensen. En liste, en tuple eller en streng kan være sekvensen.

Tilfeldig: Metoden som genererer en tilfeldig flyteverdi mellom 0.1 og 1.0 er det valgfrie argumentet "tilfeldig". Python bruker tilfeldig.tilfeldig () funksjon som standard hvis den ikke er spesifisert.

Returverdi

Det tilfeldige.Shuffle () -funksjonen stokker på plass uten å returnere noe. Blanding () -funksjonen, for eksempel, returnerer ingen. Blanding () -funksjonen endrer rekkefølgen på elementer i en skiftende sekvens.

Hva er forskjellen mellom prøve () og shuffle () i Python?

Det innebygde "tilfeldige" biblioteket i Python er veldig nyttig for å produsere tilfeldighet. Men først, la oss raskt gå gjennom forskjellene mellom prøven () og shuffle () -funksjonene til den tilfeldige modulen. Begge metodene returnerer en tilfeldig sortert liste, men de gjør det på forskjellige måter:

  • Den gitte listen kan blandes på plass ved hjelp av “tilfeldig.Shuffle () ”-funksjon.
  • En ny, blandet liste er produsert av “Random.Eksempel (), "ved hjelp av den tilfeldige listen som base.

Siden prøve () genererer en ny liste og lar deg jobbe med uforanderlige datatyper, kan du også bruke den til å blande tuples og strenger.

Hvordan du bruker shuffle () -funksjon i python

I dette avsnittet nedenfor vil vi demonstrere hvordan du bruker blanding () -funksjonen for å blande lister, strenger og andre objekter i Python.

Eksempel 1: Blanding av en Python -liste

Pythons tilfeldige.Shuffle () -metode gjør det enkelt å blande eller blande opp elementene i en liste. Funksjonen lar oss raskt randomisere listeelementer uten krav om å tilordne utgangslisten til seg selv fordi den fungerer på plass.

Etter å ha importert den tilfeldige modulen, opprettet vi en liste “L” med strengverdiene (“A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, "JEG"). Listen “L” ble deretter passert inne i det tilfeldige.Shuffle () fungerer som et inngangsargument. Funksjonen returnerer en liste etter å ha blandet listen "L", som det kan sees i utgangen av skriptet over. Husk at listen over elementer sannsynligvis ikke vil se nøyaktig ut som den i eksemplet over hvis du følger med det.

Eksempel nr. 2: Flere ganger blanding av Python -listen

Det kan være tilfeller når vi ønsker å blande en liste flere ganger for å reprodusere tilfeldige resultater hver gang funksjonen blander listen. Eksemplet som følger vil lære deg hvordan du kan regenerere en blandet liste. Funksjonen tilfeldig.frø () vil bli brukt til å produsere en reproduserbar utgang.

Å generere tilfeldige tall, tilfeldig.frø () brukes som utgangspunkt. Når en datamaskin oppretter en tilfeldig tallserie, bestemmer et tilfeldig frø utgangspunktet. Vi spesifiserte verdien av 1 tilfeldig.frø () funksjon. Som det kan sees, brukte vi det tilfeldige.Shuffle () og Print () -funksjoner i for-in-loopen slik at vi kan få flere blandede lister. Vi spesifiserte verdien av 5 innenfor området (), slik at vi kan generere 5 lister med blandede gjenstander.

Eksempel nr. 3: Blanding av listen over lister

Flerdimensjonale lister, ofte kjent som lister over lister, brukes ofte i Python. A for loop vil gjøre denne oppgaven enkel for oss. Vi kan da enkelt bruke det tilfeldige.Shuffle () Metode for å blande elementene til hver sublist ved å iterere over hver liste på listen over lister.

Selv om en listeforståelse også kan brukes til å oppnå dette, er syntaksen for å gjøre det mindre greit og vanskelig. For å oppnå lesbarhet brukte vi en for loop i dette eksemplet. Etter å ha blandet elementene i sublisten, har funksjonen returnert en liste over lister, som det kan sees i utgangen.

Eksempel 4: Blanding av flere lister

Tenk på at vi har to Python -lister: den ene med elementer av strengtypen og den andre med heltallverdier. Referensiell integritet må holde selv om listene er blandet rundt. Vi bruker Zip () -funksjonen for å slå sammen listene våre til en liste over lister for å oppnå dette. Da vil vi internt blande underlistene og skille begge listene.

Som det kan sees, har funksjonen blandet gjenstandene til begge listene.

Eksempel 5: Blanding av en streng

Fordi strengen i Python er en uforanderlig objekttype og uforanderlige objekter ikke kan endres, hvis vi prøver å blande tegnene på strengen ved hjelp av tilfeldig () shuffle, ville vi fått en feil.

For å blande strengobjektet, vil vi først konvertere strengen vår til en liste ved hjelp av listen () -metoden. Da vil vi bruke tilfeldig.Shuffle () -funksjonen på den listen opprettet fra strengen. Så igjen, vil vi konvertere listen til strengen ved hjelp av .Bli med () -funksjonen for å oppnå vår blandede streng som utgang.

Ved hjelp av denne tilnærmingen kan du blande hvilken som helst streng i Python.

Eksempel nr. 6: Blanding av Python Tuples

Bruk tilfeldig.Shuffle () -funksjonen i Python for å blande en tuple; Imidlertid, hvis du prøver å direkte blande en tuple med tilfeldig.Shuffle () -funksjon, en feil vises av konsollen. Som det forrige eksemplet, vil vi først konvertere tupelen til liste, så vil vi blande dataene inne på listen. Etter å ha blandet dataene, vil vi igjen konvertere listen til en tuple ved hjelp av tuple () -funksjonen.

Som du ser, har vi fått en tupel med blandede gjenstander.

Eksempel nr. 7: Blanding av todimensjonal matrise

Den numpy tilfeldige modulen kan brukes i Python for å blande en 1D eller multidimensjonal matrise. Først vil vi lage en 2D -matrise i dette eksemplet ved hjelp av Pythons Numpy Library. I tillegg kan vi blande vårt utvalg ved hjelp av Numpy.tilfeldig.Shuffle () -metode.

Vi opprettet et tilfeldig utvalg med NP.Arange () -funksjonen og transformerte den deretter til en to -dimensjonal matrise ved bruk av RESHAPE () -funksjonen. 2D -arrayen blir deretter blandet ved hjelp av numpy.tilfeldig.Shuffle () -metode.

Konklusjon

I denne opplæringen har vi diskutert hva den tilfeldige shuffle -metoden er og hvordan den kan brukes til å blande data i Python. Vi så en forskjell mellom prøven () -funksjonen og blanding () -funksjonen i Python. Vi implementerte flere eksempler i dette innlegget for å lære deg å blande enkelt- eller flere lister, strenger, tuples og multidimensjonale matriser i Python. Nå etter å ha dekket denne opplæringen, kan det hende du kan blande forskjellige Python -objekter ved hjelp av tilfeldige.Shuffle () -funksjon.