Обратите внимание, что sorted(a)будет возвращен отсортированный список, поэтому для сравнения строк вам не нужно join()(см. Ответ на вопросник ниже).
Skippy le Grand Gourou
Обратите внимание, что ''.join(sorted(a, reverse=True, key=str.lower))может использоваться для выполнения обратной сортировки без учета регистра. Может быть удобно.
Superdooperhero
89
>>> a ='ZENOVW'>>> b = sorted(a)>>>print b
['E','N','O','V','W','Z']
sortedвозвращает список, поэтому вы можете снова сделать его строкой, используя join:
>>> c =''.join(b)
который соединяет элементы bвместе с пустой строкой ''между каждым элементом.
Привет, это первое решение было довольно полезно для домашнего задания, в котором я должен был найти письмо, используя бисекцию. Да, я уже знаю о классе строки и методе find (), но это противоречит цели упражнения;)
runlevel0
9
Вы можете использовать уменьшить
>>> a ='ZENOVW'>>> reduce(lambda x,y: x+y, sorted(a))'ENOVWZ'
код можно использовать для сортировки строк в алфавитном порядке без использования встроенной функции python
k = input («Введите любую строку снова»)
li =[]
x = len(k)for i in range (0,x):
li.append(k[i])print("List is : ",li)for i in range(0,x):for j in range(0,x):if li[i]<li[j]:
temp = li[i]
li[i]=li[j]
li[j]=temp
j=""for i in range(0,x):
j = j+li[i]print("After sorting String is : ",j)
Хорошо сделано для вашего первого ответа. Просто рассмотрите строку из 1 миллиона символов, ваша команда tuple () создаст огромный список накопленных опций, которые используют излишне большой объем памяти.
TDA
Согласовано. Итак, чтобы улучшить сложность пространства, идея состоит в том, чтобы работать с самой итерируемой, вместо преобразования ее в структуру данных. Ницца. Спасибо.
sorted(a)
будет возвращен отсортированный список, поэтому для сравнения строк вам не нужноjoin()
(см. Ответ на вопросник ниже).''.join(sorted(a, reverse=True, key=str.lower))
может использоваться для выполнения обратной сортировки без учета регистра. Может быть удобно.sorted
возвращает список, поэтому вы можете снова сделать его строкой, используяjoin
:который соединяет элементы
b
вместе с пустой строкой''
между каждым элементом.источник
Решение Sorted () может дать вам неожиданные результаты с другими строками.
Список других решений:
Сортируйте буквы и выделяйте их:
Сортируйте буквы и выделяйте их, сохраняя заглавные буквы:
Сортируйте письма и сохраняйте дубликаты:
Если вы хотите избавиться от места в результате, добавьте функцию strip () в любом из упомянутых случаев:
источник
Вы можете использовать уменьшить
источник
Функция Python
sorted
возвращает основанный на ASCII результат для строки.НЕПРАВИЛЬНО : В приведенном ниже примере
e
иd
позади,H
иW
из-за значения ASCII.ПРАВИЛЬНО : чтобы написать отсортированную строку без изменения регистра букв. Используйте код:
Если вы хотите удалить все знаки препинания и цифры. Используйте код:
источник
код можно использовать для сортировки строк в алфавитном порядке без использования встроенной функции python
k = input («Введите любую строку снова»)
источник
Очень понравился ответ с помощью функции redu (). Вот еще один способ сортировки строки с помощью аккумулятора ().
отсортировано (s) -> ['i', 'i', 'i', 'i', 'm', 'p', 'p', 's', 's', 's', 's' ]
tuple (накапливать (отсортировано) (ы) -> ('i', 'ii', 'iii', 'iiii', 'iiiim', 'iiiimp', 'iiiimpp', 'iiiimpps', 'iiiimppss', 'iiiimppsss ',' iiiimppssss ')
Мы выбираем последний индекс (-1) кортежа
источник