Преобразуйте список Python со строками в нижний или верхний регистр.

У меня есть переменная списка python, содержащая строки. Есть ли функция python, которая может преобразовывать все строки за один проход в нижний регистр и наоборот, в верхний регистр?

7 Solutions collect form web for “Преобразуйте список Python со строками в нижний или верхний регистр.”

Это можно сделать с помощью списков

>>> [x.lower() for x in ["A","B","C"]] ['a', 'b', 'c'] >>> [x.upper() for x in ["a","b","c"]] ['A', 'B', 'C'] 

или с функцией отображения

 >>> map(lambda x:x.lower(),["A","B","C"]) ['a', 'b', 'c'] >>> map(lambda x:x.upper(),["a","b","c"]) ['A', 'B', 'C'] 

Помимо того, что легче читать (для многих людей), списки понятий также выигрывают скорость гонки:

 $ python2.6 -m timeit '[x.lower() for x in ["A","B","C"]]' 1000000 loops, best of 3: 1.03 usec per loop $ python2.6 -m timeit '[x.upper() for x in ["a","b","c"]]' 1000000 loops, best of 3: 1.04 usec per loop $ python2.6 -m timeit 'map(str.lower,["A","B","C"])' 1000000 loops, best of 3: 1.44 usec per loop $ python2.6 -m timeit 'map(str.upper,["a","b","c"])' 1000000 loops, best of 3: 1.44 usec per loop $ python2.6 -m timeit 'map(lambda x:x.lower(),["A","B","C"])' 1000000 loops, best of 3: 1.87 usec per loop $ python2.6 -m timeit 'map(lambda x:x.upper(),["a","b","c"])' 1000000 loops, best of 3: 1.87 usec per loop 
 >>> map(str.lower,["A","B","C"]) ['a', 'b', 'c'] 

Смысл списка – это то, как я это сделаю. В этом фрагменте ниже показано, как преобразовать список во все верхние регистры, а затем назад:

 $ python Python 2.5.2 (r252:60911, Dec 2 2008, 09:26:14) [GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> list = ["one", "two", "three"] >>> list ['one', 'two', 'three'] >>> list = [element.upper() for element in list] >>> list ['ONE', 'TWO', 'THREE'] >>> list = [element.lower() for element in list] >>> list ['one', 'two', 'three'] 

Для этого образца понимание является самым быстрым

 $ python -m timeit -s 's = ["one", "two", "three"] * 1000' '[x.upper for x in s]'
 1000 циклов, лучше всего 3: 809 мксек за петлю

 $ python -m timeit -s 's = ["one", "two", "three"] * 1000' 'map (str.upper, s)'
 1000 циклов, лучше всего 3: 1.12 мсек за цикл

 $ python -m timeit -s 's = ["one", "two", "three"] * 1000' 'map (lambda x: x.upper (), s)'
 1000 циклов, лучше всего 3: 1,77 мсек за цикл
 mylist = ['Mixed Case One', 'Mixed Case Two', 'Mixed Three'] print map(lambda x: x.lower(), mylist) print map(lambda x: x.upper(), mylist) 

студент спрашивает, другой студент с той же проблемой отвечает :))

 fruits=['orange', 'grape', 'kiwi', 'apple', 'mango', 'fig', 'lemon'] newList = [] for fruit in fruits: newList.append(fruit.upper()) print(newlist) 
Interesting Posts

Невозможно вручную закрыть окно графика matplotlib

Разбор закрытых “ `тегов с BeautifulSoup

Не удалось запустить сервер devlopment – BindError: невозможно найти согласованный порт localhost

Str в карте Питона и сумме

kivy – невозможно получить окно, прервать

Объединение документации Sphinx из нескольких подпроектов: обработка индексов, настройка синхронизации и т. Д.

Поиск файлов TXT в Python

Ограничение значения в виджетах входа Tkinter

Более эффективный алгоритм поиска кратчайших суперструн

Устанавливает устаревшее предупреждение модуля

Правильное выражение Python 3 для поиска многострочного комментария

'{0}'. Format () быстрее, чем str () и '{}'. Format (), используя IPython% timeit и в противном случае используя чистый Python

PyCharm показывает ошибку неразрешенных ссылок для действительного кода

Почему я не могу дублировать выбранные элементы в цикле for?

Сравнение счетчиков Python как типа Bag

Python - лучший язык программирования в мире.