Основной ответ:
mylist = ["b", "C", "A"]
mylist.sort()
Это изменяет Ваш исходный список (т.е. оперативные виды). Получить отсортированную копию списка, не изменяя оригинал, использование sorted()
функция:
for x in sorted(mylist):
print x
Однако примеры выше немного наивны, потому что они не принимают локаль во внимание и выполняют чувствительную к регистру сортировку. Можно использовать в своих интересах дополнительный параметр key
для определения пользовательского порядка сортировки (альтернатива, с помощью cmp
, решение устаревшее, поскольку это должно быть оценено многократно - key
, только вычисляется однажды на элемент).
Так, к виду согласно текущей локали, принимая определенные для языка правила во внимание ( cmp_to_key
функция помощника от functools):
sorted(mylist, key=cmp_to_key(locale.strcoll))
И наконец, если Вам нужно, можно определить пользовательская локаль для сортировки:
import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') # vary depending on your lang/locale
assert sorted((u'Ab', u'ad', u'aa'),
key=cmp_to_key(locale.strcoll)) == [u'aa', u'Ab', u'ad']
Последнее примечание: Вы будете видеть примеры нечувствительной к регистру сортировки, которые используют lower()
метод - те являются неправильными, потому что они работают только на подмножество ASCII символов. Те два являются неправильными при любых неанглийских данных:
# this is incorrect!
mylist.sort(key=lambda x: x.lower())
# alternative notation, a bit faster, but still wrong
mylist.sort(key=str.lower)
Да, это возможно.
Вам нужно будет изучить класс SoapException и, в частности, свойство Detail из класс SoapException.
Класс SoapException будет эффективно отображать « Soap Fault », который является совместимым со стандартами механизмом для возврата информации об ошибках клиентам / потребителям из метода веб-службы.
Свойство «Detail» класса SoapException имеет тип XmlNode и, таким образом, может содержать либо один узел / элемент, либо иерархию дочерних узлов. Таким образом, узел "Подробности" может легко содержать и действовать как "родительский" для сериализованного представления вашего собственного объекта ошибки.
Из MSDN:
Свойство Detail предназначено для предоставления сведений об ошибках приложения, связанных с элементом Body запроса SOAP. Согласно спецификации SOAP, если ошибка возникает из-за того, что запрос клиента не может быть обработан из-за элемента Body запроса SOAP, необходимо установить свойство Detail. Если в записях заголовка запроса SOAP возникла ошибка, необходимо выбросить SoapHeaderException, чтобы сведения об ошибке возвращались в заголовке SOAP. Если ошибка не возникла из-за обработки элемента Body, то свойство Detail устанавливать нельзя.
При создании XmlNode для свойства Detail можно использовать свойства Name и Namespace свойства DetailElementName для обеспечения согласованности [sic] со спецификацией SOAP.