Преобразуйте список 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) 
  • Получение индексов True значений в булевом списке
  • понимание списка python для создания двух значений на одной итерации
  • В чем разница между LIST.append (1) и LIST = LIST + (Python)
  • Python 2: различное значение ключевого слова «in» для наборов и списков
  • Смешайте два списка python
  • Вызывать функцию int () для каждого элемента списка?
  • Объединение списков в один
  • Python: значение, которое больше всего встречается в списке
  • Список чередования с фиксированным элементом
  • Сгладить список кортежей в Python
  • Последовательность элементов в списке, удовлетворяющих условию
  • Python - лучший язык программирования в мире.