1

Тема: Проблема з розумінням роботи функціі len()

Доброго дня. Поясніть будь-ласка чому функція len() в данному випадку повертає різний результат

>>>string = "moOse"
>>>len(set(string.lower()))
>>>4
>>>len(string)
>>>5

2

Re: Проблема з розумінням роботи функціі len()

Тому, що певертає розмір різних об'єктів,
рядка
множини, створеної з іншого рядка

Подякували: koala, KuroMidori, leofun013

3

Re: Проблема з розумінням роботи функціі len()

Я вам навіть більше скажу: застосування методів upper/lower саме може змінювати довжину стрічки:

>>> s = "straße"
>>> len(s)
>>> 6
>>> len(s.upper())
>>> 7

Спробуйте розібратися в тому, довжину чого саме ви порівнюєте, а якщо не розберетеся - вже тоді ставте питання.

Подякували: leofun01, ReAl2

4

Re: Проблема з розумінням роботи функціі len()

Тому що string.lower() перетворює усі літери в один регістр, а set() перетворює на множину, де однакові елементи не можуть повторюватись:

>>> string = "moOse"
>>> set(string.lower())
{'o', 'e', 's', 'm'}
>>> list(string)
['m', 'o', 'O', 's', 'e']
Подякували: mikeos1