Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как определить количество слов в строке питон: Есть ли простой способ?

  1. Как определить количество слов в строке питон: Есть ли простой способ?

    Всем привет! Задался я тут вопросом, как определить количество слов в строке питон. Есть куча вариантов, как это сделать, но хотелось бы узнать, есть ли простой и элегантный способ? Желательно с минимумом кода и максимумом ясности. Может у кого-то уже есть готовая функция или фрагмент? Еще интересует, каков самый оптимальный метод с точки зрения производительности. Спасибо за любую инфу!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Проще всего использовать метод split(). Он разделяет строку по пробелам и возвращает список слов. А длину этого списка можно получить через len(). В общем, вот код:

    Программный код:
    def count_words(s):
        return 
    len(s.split())

    text 'Привет, как дела?'
    count count_words(text)
    print(
    count
    Этого достаточно для базовой задачи. Проверяй!

  4. Цитата Сообщение от StormMermaid
    Привет! Проще всего использовать метод split(). Он разделяет строку по пробелам и возвращает список слов. А длину этого списка можно получить через len(). В общем, вот код:

    Программный код:
    def count_words(s):
        return 
    len(s.split())

    text 'Привет, как дела?'
    count count_words(text)
    print(
    count
    Этого достаточно для базовой задачи. Проверяй!
    Эй, классный пример. Но не забудь, что split() разделяет не только по пробелам, но и по всем пробельным символам. Например, табы и переводы строки тоже учитываются.

  5. Если хочешь что-то поинтереснее, то можно заморочиться с регулярками. Например:

    Программный код:
    import re

    def count_words_regex
    (s):
        
    words re.findall(r'\b\w+\b's)
        return 
    len(words)

    text 'Эй, ты там не скучаешь?'
    count count_words_regex(text)
    print(
    count
    Но для простых задач и split() пойдет, как выше написали.

  6. Цитата Сообщение от Мария Павловна
    Если хочешь что-то поинтереснее, то можно заморочиться с регулярками. Например:

    Программный код:
    import re

    def count_words_regex
    (s):
        
    words re.findall(r'\b\w+\b's)
        return 
    len(words)

    text 'Эй, ты там не скучаешь?'
    count count_words_regex(text)
    print(
    count
    Но для простых задач и split() пойдет, как выше написали.
    О, регулярки - мощь! Но иногда это как стрельба из пушки по воробьям. Для простоты можно и сплитом обойтись.

  7. В принципе, можно и через split() и курить дальше:

    Программный код:
    def count_words(s):
        return 
    len(s.split())

    count count_words('Питон, почему ты такой крутой?')
    print(
    count
    Выполнено, не вижу смысла усложнять.

  8. Цитата Сообщение от Антон Олегович
    В принципе, можно и через split() и курить дальше:

    Программный код:
    def count_words(s):
        return 
    len(s.split())

    count count_words('Питон, почему ты такой крутой?')
    print(
    count
    Выполнено, не вижу смысла усложнять.
    Очень легкий вариант, но иногда хочется знаниями блеснуть, так что регулярки тоже прикольно.

  9. Чувак, это же Питон! Тут можно такое наворотить... Вот ещё один способ, если использовать коллектор из collections:

    Программный код:
    from collections import Counter
    import re

    def count_words_collector
    (s):
        
    words re.findall(r'\b\w+\b's)
        return 
    Counter(words)

    text 'Эй ты, эй ты!'
    word_counts count_words_collector(text)
    print(
    dict(word_counts)) 
    Он не просто считает общие слова, но еще и сколько раз каждое слово встречается.

  10. Цитата Сообщение от Афина
    Чувак, это же Питон! Тут можно такое наворотить... Вот ещё один способ, если использовать коллектор из collections:

    Программный код:
    from collections import Counter
    import re

    def count_words_collector
    (s):
        
    words re.findall(r'\b\w+\b's)
        return 
    Counter(words)

    text 'Эй ты, эй ты!'
    word_counts count_words_collector(text)
    print(
    dict(word_counts)) 
    Он не просто считает общие слова, но еще и сколько раз каждое слово встречается.
    Ну ты загнул с коллектором. Для такой задачи обычно не надо, но круто знать, что можно бонусом получить список частотности слов.

Страница 1 из 2 12 ПоследняяПоследняя