Python Приведение Строки к Нижнему Регистру с помощью .lower(), .casefold(), и .islower()

Оглавление

В этой статье мы научимся использовать методы 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