Игнорировать регистр в строках Python

Ваш вопрос подразумевает, что py вам не нужен Unicode. Попробуйте case-insensitive следующий фрагмент кода; если py это работает для вас, все str готово:

Python 2.5.2 (r252:60911, Aug 22 2008, 02:34:17)
[GCC 4.3.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.setlocale(locale.LC_COLLATE, "en_US")
'en_US'
>>> sorted("ABCabc", key=locale.strxfrm)
['a', 'A', 'b', 'B', 'c', 'C']
>>> sorted("ABCabc", cmp=locale.strcoll)
['a', 'A', 'b', 'B', 'c', 'C']

Уточнение: в случае, если pythonista это не очевидно с первого pythonista взгляда, locale.strcoll кажется pythonista той функцией, которая вам case-insensitive нужна, избегая «дублирующихся» строк string-manipulation str.lower или locale.strxfrm.

python

string

case-insensitive

2022-07-28T03:39:40+00:00