Python Приведение Строки к Нижнему Регистру с помощью .lower(), .casefold(), и .islower()
Оглавление
Навыки работы с нижним регистром в Python
В этой статье мы научимся использовать методы str.lower()
и str.casefold()
для перевода строк в нижний регистр.
1. Приведение строки к нижнему регистру с помощью str.lower()
Python имеет несколько уникальных методов, которые можно применить к строкам. Один из них, str.lower()
, может преобразовать строку в нижний регистр. Метод не меняет специальные символы или цифры.
Вот пример использования метода str.lower()
для приведения строки к нижнему регистру:
# Приведение строки к нижнему регистру в Python с помощью str.lower()
a_string = 'LeArN how to LOWER case with Bemind.Gitbook.Io'
lower = a_string.lower()
print(lower)
# Возвращается: learn how to lower case with bemind.gitbook.io
Вы также можете присвоить строке ее же преобразованный нижний регистр, чтобы не создавать нового переменного:
# Приведение строки к нижнему регистру в Python с помощью str.lower()
a_string = 'LeArN how to LOWER case with Bemind.Gitbook.Io'
a_string = a_string.lower()
print(a_string)
# Возвращается: learn how to lower case with bemind.gitbook.io
В следующем разделе вы узнаете о похожем методе строки str.casefold()
, который также помогает преобразовывать специальные символы в нижний регистр.
2. Приведение строки к нижнему регистру с помощью str.casefold()
Начиная с Python 3.3, был добавлен новый метод строки str.casefold()
для приведения строк в нижний регистр. Что отличает str.casefold()
от str.lower()
, так это его агрессивный способ снижения регистра.
Хотя на первый взгляд методы str.lower()
и str.casefold()
могут давать одинаковые результаты, метод str.casefold()
также может преобразовать специальные символы в их нижний регистр. Например, буква ß будет оставаться такой же при использовании метода str.lower()
, но она будет преобразована в ss с помощью метода str.casefold()
.
Давайте посмотрим на пример использования метода str.casefold()
для приведения строки к нижнему регистру:
# Приведение строки к нижнему регистру в Python с помощью str.casefold()
a_string = 'LeArN how to LOWER case with Bemind.Gitbook.Io'
a_string = a_string.casefold()
print(a_string)
# Возвращается: learn how to lower case with bemind.gitbook.io
3. Сравнение преобразования строк в нижний регистр с помощью str.lower() и str.casefold()
Наконец, давайте посмотрим на пример сравнения использования методов str.lower()
и str.casefold()
:
# Сравнение приведения строк к нижнему регистру в Python с помощью str.lower() и str.casefold()
a_string = 'LowerCase Strings WITH Bemind.Gitbook.Io and ßome special characters'
lower = a_string.lower()
casefold = a_string.casefold()
print(f'{lower=}')
print(f'{casefold=}')
# Возвращается:
# lower='lowercase strings with bemind.gitbook.io and ßome special characters'
# casefold='lowercase strings with bemind.gitbook.io and ssome special characters'
Мы видим, что метод str.lower()
оставляет букву ß в неизменном виде, но метод str.casefold()
преобразует ее в ss.
В следующем разделе вы узнаете, как проверить, является ли строка уже нижнего регистра с помощью метода строки str.islower()
.
4. Проверка, является ли строка нижнего регистра с помощью str.islower()
Python делает это очень легко с помощью метода str.islower()
. Метод возвращает boolean-значение:
True, если вся строка нижнего регистра
False, если часть строки не нижнего регистра
Если даже одна буква в строке не имеет нижнего регистра, метод str.islower()
вернет False.
Давайте посмотрим на пример использования метода str.islower()
для проверки, является ли строка нижнего регистра:
# Проверка, является ли строка нижнего регистра в Python с помощью str.islower()
a_string = 'LowerCase Strings WITH bemind.gitbook.io'
lowered_string = a_string.lower()
# Проверка на lower case с помощью .islower()
print(a_string.islower())
print(lowered_string.islower())
# Возвращается:
# False
# True
В следующем разделе вы узнаете, как преобразовать список строк в нижний регистр.
5. Преобразование списка строк в нижний регистр
Вы можете иметь список строк, который необходимо преобразовать в нижний регистр.
Мы можем сделать это с помощью методов str.lower()
или str.casefold()
. Мы проходимся по каждому элементу списка и преобразуем его в нижний регистр:
# Преобразование списка строк в нижний регистр в Python
a_list = ['bemind.gitbook.io', 'iS', 'a', 'PLAce', 'to', 'LEArn', 'PythoN']
lowered = []
for item in a_list:
lowered.append(item.lower())
print(lowered)
# Возвращается: ['bemind.gitbook.io', 'is', 'a', 'place', 'to', 'learn', 'python']
Чтобы упростить этот процесс, мы можем использовать список comprehension:
# Преобразование списка строк в нижний регистр с помощью list comprehension в Python
a_list = ['bemind.gitbook.io', 'iS', 'a', 'PLAce', 'to', 'LEArn', 'PythoN']
lowered = [item.lower() for item in a_list]
print(lowered)
# Возвращается: ['bemind.gitbook.io', 'is', 'a', 'place', 'to', 'learn', 'python']
Мы видим, что это делает процесс более простым и не требует от нас инициализации пустого списка.
В следующем разделе вы узнаете, как преобразовать столбец таблицы Pandas в нижний регистр.
6. Преобразование столбца таблицы Pandas в нижний регистр
Можно часто сталкиваться с данными в формате таблицы и необходимо преобразовать их все в нижний регистр.
Давайте загрузим таблицу Pandas:
# Загрузка таблицы Pandas
import pandas as pd
df = pd.DataFrame.from_dict({
'Numbers': [1,2,3,4,5,6,7],
'SomeStrings': ['bemind.gitbook.io', 'iS', 'a', 'PLAce', 'to', 'LEArn', 'PythoN'],
})
print(df)
# Возвращается:
# SomeStrings Numbers
# 0 bemind.gitbook.io 1
# 1 iS 2
# 2 a 3
# 3 PLAce 4
# 4 to 5
# 5 LEArn 6
# 6 PythoN 7
Теперь давайте посмотрим, как преобразовать столбец в нижний регистр с помощью Pandas:
# Преобразование столбца таблицы Pandas в нижний регистр
import pandas as pd
df = pd.DataFrame.from_dict({
'Numbers': [1,2,3,4,5,6,7],
'SomeStrings': ['bemind.gitbook.io', 'iS', 'a', 'PLAce', 'to', 'LEArn', 'PythoN'],
})
df['SomeStrings'] = df['SomeStrings'].str.lower()
print(df)
# Возвращается:
# Numbers SomeStrings
# 0 1 bemind.gitbook.io
# 1 2 is
# 2 3 a
# 3 4 place
# 4 5 to
# 5 6 learn
# 6 7 python
Мы видим, что все элементы столбца преобразованы в нижний регистр.
Вывод
В этой статье мы научились использовать методы str.lower()
и str.casefold()
для перевода False-ряда текста. Мы также узнали, как проверить, является ли False-ряд уже нижнего регистра с помощью метода строки str.islower()
. Наконец, мы узнали, как преобразовать список строк и столбец таблицы Pandas в нижний регистр.
Чтобы узнать больше о методе str.lower()
, ознакомьтесь с официальной документацией здесь.
Чтобы узнать больше о методе str.casefold()
, ознакомьтесь с официальной документацией здесь.
Last updated