/
Вопросы и ответы
/
Python
/

Как посчитать кол во символов в строке python

Как посчитать кол во символов в строке python

5 лет назад

Человек-Молекула

Ответы

0

Чтобы узнать длину строки (или количество символов в строке) воспользуйтесь простой функцией len():

1
2
3
4
>>> string = "hello"
>>> len(string)
5
>>>

5 лет назад

Сергей К.

0

Количество символов в строке возвращает функция len():

1
2
text = "Привет, мир!"
print(len(text))  # => 12

len() считает все символы: буквы, пробелы, знаки препинания.

Без пробелов, только буквы или цифры

1
2
3
4
5
text = "Привет, мир!"

print(len(text.replace(" ", "")))         # => 11 — без пробелов
print(sum(c.isalpha() for c in text))     # => 9 — только буквы
print(sum(c.isdigit() for c in "a1b22"))  # => 3 — только цифры

c.isalpha() возвращает True для букв, sum() считает, сколько раз получилось True.

Сколько раз встречается символ

1
2
text = "Привет, мир!"
print(text.count("и"))  # => 2

count() учитывает регистр: "И" и "и" — разные символы. Чтобы не учитывать регистр, приведите строку к одному: text.lower().count("и").

Частоту всех символов сразу считает Counter:

1
2
3
from collections import Counter

print(Counter("hello").most_common(2))  # => [('l', 2), ('h', 1)]

Количество символов в слове, введённом с клавиатуры

1
2
word = input("Слово: ")
print(len(word))

input() не включает перевод строки, поэтому лишних символов не будет. Пробелы по краям уберёт strip(): len(input().strip()).

Символы и байты

len() считает символы. Место в памяти или в файле считают в байтах:

1
2
3
text = "Привет"
print(len(text))                  # => 6 символов
print(len(text.encode("utf-8")))  # => 12 байт — русская буква занимает 2 байта

Количество символов в файле

1
2
with open("text.txt", encoding="utf-8") as f:
    print(len(f.read()))

Строки и их методы разбирают в бесплатном курсе «Основы Python».

16 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845