Python lunghezza di parola di funzione esempio necessario

Sto avendo un po ‘ di problemi con il mio lavoro. Avrei dovuto scrivere una funzione “limitWords” che limita l’ingresso di venti parole e tronca l’ingresso solo 20 parole, se è più di 20 parole.

Ho usato “len(testo.split())” come un mezzo per contare le parole, in modo che il 20 o meno parte funziona, ma non so come troncamento di ingresso senza cambiare in una ventina di elenco di parole.

Non so se il modo in cui ho fatto la prima parte della mia istruzione if correttamente, ma in ingresso al secondo bit sarebbe utile. Io non sto cercando un copia e incolla risposta — spiegazione o un esempio simile sarebbe preferibile. Grazie!

totalwords = len(text.split())
if totalwords <= 20:
    return text

OriginaleL’autore Linseykathleen | 2012-02-15

3 Replies
  1. 7

    Penso che l’approccio è abbastanza praticabile — ci siamo quasi già.

    Tuo text.split() già produce un array di parole, in modo che si può fare:

    words = text.split()
    totalwords = len(words)

    Quindi, è possibile selezionare i primi 20 come dici tu (se ci sono troppe parole), e unire la matrice di nuovo insieme.

    A partecipare, guardare str.join.

    Come esempio:

    '||'.join(['eggs','and','ham'])
    # returns 'eggs||and||ham'
    Grazie mille!!! Sono stato bloccato e questo ingresso ha davvero aiutato un sacco!

    OriginaleL’autore mathematical.coffee

  2. 2

    Non c’è nessun problema nell’utilizzo di liste di qui. Si può fare qualcosa di simile

    >>> st = "abc def ghi"
    >>> words = st.split()
    >>> words
    ['abc', 'def', 'ghi']
    >>> if len(words)>2:
    ...     print " ".join(words[:2])
    ...
    abc def

    Nel caso di cui sopra il limite di parole, è 2 e ho usato Elenco Affettare e str.join() per ottenere l’output desiderato.

    Grazie anche a voi. Molto utile l’esempio!

    OriginaleL’autore RanRag

  3. 1

    Presumendo che la split() funziona come previsto, perché non ricombinare i primi 20 elementi in una stringa e ritorno?

    Grazie, troppo! Davvero utile, ho capito adesso!

    OriginaleL’autore warren

Lascia un commento