本文整理汇总了Python中natsort.utils._natsort_key函数的典型用法代码示例。如果您正苦于以下问题:Python _natsort_key函数的具体用法?Python _natsort_key怎么用?Python _natsort_key使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_natsort_key函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test__natsort_key_with_IGNORECASE_lowercases_text
def test__natsort_key_with_IGNORECASE_lowercases_text(x):
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
try:
assert _natsort_key(s, None, ns.IGNORECASE) == tuple(_number_extracter(s.casefold(), _int_nosign_re, *int_nosafe_nolocale_nogroup))
except AttributeError:
assert _natsort_key(s, None, ns.IGNORECASE) == tuple(_number_extracter(s.lower(), _int_nosign_re, *int_nosafe_nolocale_nogroup))
开发者ID:InSertCod3,项目名称:natsort,代码行数:7,代码来源:test_utils.py
示例2: test__natsort_key_with_float_and_unsigned_splits_input_into_string_and_unsigned_float
def test__natsort_key_with_float_and_unsigned_splits_input_into_string_and_unsigned_float(x):
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
assert ns.U == ns.UNSIGNED
assert _natsort_key(s, None, ns.F | ns.U) == tuple(_number_extracter(s, _float_nosign_exp_re, *float_nosafe_nolocale_nogroup))
# Default is unsigned search
assert _natsort_key(s, None, ns.F) == tuple(_number_extracter(s, _float_nosign_exp_re, *float_nosafe_nolocale_nogroup))
开发者ID:InSertCod3,项目名称:natsort,代码行数:7,代码来源:test_utils.py
示例3: test__natsort_key_with_bytes_input_only_applies_LOWERCASEFIRST_or_IGNORECASE_and_returns_in_tuple
def test__natsort_key_with_bytes_input_only_applies_LOWERCASEFIRST_or_IGNORECASE_and_returns_in_tuple():
if sys.version[0] == '3':
assert _natsort_key(b'Apple56', None, ns.I) == (b'Apple56',)
assert _natsort_key(b'Apple56', None, ns.LF) == (b'aPPLE56',)
assert _natsort_key(b'Apple56', None, ns.IC) == (b'apple56',)
assert _natsort_key(b'Apple56', None, ns.G) == (b'Apple56',)
else:
assert True
开发者ID:dpetzold,项目名称:natsort,代码行数:8,代码来源:test_utils.py
示例4: test__natsort_key_with_int_splits_input_into_string_and_unsigned_int
def test__natsort_key_with_int_splits_input_into_string_and_unsigned_int(x):
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
assert ns.I == ns.INT
assert _natsort_key(s, None, ns.INT) == tuple(_number_extracter(s, _int_nosign_re, *int_nosafe_nolocale_nogroup))
# Default is int search
assert _natsort_key(s, None, ns.NOEXP) == tuple(_number_extracter(s, _int_nosign_re, *int_nosafe_nolocale_nogroup))
# NOEXP is ignored for integers
assert _natsort_key(s, None, ns.I | ns.NOEXP) == tuple(_number_extracter(s, _int_nosign_re, *int_nosafe_nolocale_nogroup))
开发者ID:InSertCod3,项目名称:natsort,代码行数:9,代码来源:test_utils.py
示例5: test__natsort_key_with_LOCALE_transforms_floats_according_to_the_current_locale_and_strxfrms_strings
def test__natsort_key_with_LOCALE_transforms_floats_according_to_the_current_locale_and_strxfrms_strings(x):
# Locale aware sorting
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
load_locale('en_US')
if dumb_sort():
assert _natsort_key(s, None, ns.LOCALE | ns.F) == tuple(_number_extracter(s.swapcase(), _float_nosign_exp_re, *float_nosafe_locale_group))
else:
assert _natsort_key(s, None, ns.LOCALE | ns.F) == tuple(_number_extracter(s, _float_nosign_exp_re, *float_nosafe_locale_nogroup))
locale.setlocale(locale.LC_NUMERIC, str(''))
开发者ID:InSertCod3,项目名称:natsort,代码行数:10,代码来源:test_utils.py
示例6: test__natsort_key_with_float_and_signed_splits_input_into_string_and_signed_float_with_exponent
def test__natsort_key_with_float_and_signed_splits_input_into_string_and_signed_float_with_exponent(x):
assume(len(x) <= 10)
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
assert ns.F == ns.FLOAT
assert ns.S == ns.SIGNED
assert _natsort_key(s, None, ns.F | ns.S) == tuple(_number_extracter(s, _float_sign_exp_re, *float_nosafe_nolocale_nogroup))
开发者ID:dpetzold,项目名称:natsort,代码行数:7,代码来源:test_utils.py
示例7: test__natsort_key_with_tuple_input_returns_nested_tuples
def test__natsort_key_with_tuple_input_returns_nested_tuples(x):
# Iterables are parsed recursively so you can sort lists of lists.
assume(len(x) <= 10)
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
t = tuple(_number_extracter(s, _int_nosign_re, *int_nosafe_nolocale_nogroup))
assert _natsort_key((s, s), None, ns.I) == (t, t)
开发者ID:dpetzold,项目名称:natsort,代码行数:7,代码来源:test_utils.py
示例8: test__natsort_key_with_tuple_input_but_itemgetter_key_returns_split_second_element
def test__natsort_key_with_tuple_input_but_itemgetter_key_returns_split_second_element(x):
# A key is applied before recursion, but not in the recursive calls.
assume(len(x) <= 10)
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
t = tuple(_number_extracter(s, _int_nosign_re, *int_nosafe_nolocale_nogroup))
assert _natsort_key((s, s), itemgetter(1), ns.I) == t
开发者ID:dpetzold,项目名称:natsort,代码行数:7,代码来源:test_utils.py
示例9: assume
def test__natsort_key_with_GROUPLETTERS_and_LOWERCASEFIRST_inverts_text_first_then_doubles_letters_with_lowercase_letter_first(x):
assume(len(x) <= 10)
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(ichain([repr(y)] if type(y) in (float, long, int) else [low(y), y] for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
t = _number_extracter(s.swapcase(), _int_nosign_re, *int_nosafe_nolocale_nogroup)
assert _natsort_key(s, None, ns.G | ns.LF) == tuple(''.join(low(z) + z for z in y) if type(y) not in (float, long, int) else y for y in t)
开发者ID:agustinhenze,项目名称:natsort.debian,代码行数:7,代码来源:test_utils.py
示例10: test__natsort_key_with_LOCALE_and_UNGROUPLETTERS_places_space_before_string_with_capital_first_letter
def test__natsort_key_with_LOCALE_and_UNGROUPLETTERS_places_space_before_string_with_capital_first_letter():
# Locale aware sorting
locale.setlocale(locale.LC_NUMERIC, str('en_US.UTF-8'))
if use_pyicu:
from natsort.locale_help import get_pyicu_transform
from locale import getlocale
strxfrm = get_pyicu_transform(getlocale())
else:
from natsort.locale_help import strxfrm
assert _natsort_key('Apple56.5', None, ns.LOCALE | ns.UNGROUPLETTERS | ns.F) == (strxfrm(' Apple'), 56.5)
assert _natsort_key('apple56.5', None, ns.LOCALE | ns.UNGROUPLETTERS | ns.F) == (strxfrm('apple'), 56.5)
assert _natsort_key('12Apple56.5', None, ns.LOCALE | ns.UNGROUPLETTERS | ns.F) == (null_string, 12.0, strxfrm('Apple'), 56.5)
# The below are all aliases for UNGROUPLETTERS
assert ns.UNGROUPLETTERS == ns.UG
assert ns.UNGROUPLETTERS == ns.CAPITALFIRST
assert ns.UNGROUPLETTERS == ns.C
locale.setlocale(locale.LC_NUMERIC, str(''))
开发者ID:musically-ut,项目名称:natsort,代码行数:17,代码来源:test_utils.py
示例11: test__natsort_key_with_LOCALE_transforms_floats_according_to_the_current_locale_and_strxfrms_strings
def test__natsort_key_with_LOCALE_transforms_floats_according_to_the_current_locale_and_strxfrms_strings():
# Locale aware sorting
locale.setlocale(locale.LC_NUMERIC, str('en_US.UTF-8'))
if use_pyicu:
from natsort.locale_help import get_pyicu_transform
from locale import getlocale
strxfrm = get_pyicu_transform(getlocale())
else:
from natsort.locale_help import strxfrm
assert _natsort_key('Apple56.5', None, ns.LOCALE) == (strxfrm('Apple'), 56.5)
assert _natsort_key('Apple56,5', None, ns.LOCALE) == (strxfrm('Apple'), 56.0, strxfrm(','), 5.0)
locale.setlocale(locale.LC_NUMERIC, str('de_DE.UTF-8'))
if use_pyicu:
strxfrm = get_pyicu_transform(getlocale())
assert _natsort_key('Apple56.5', None, ns.LOCALE) == (strxfrm('Apple'), 56.5)
assert _natsort_key('Apple56,5', None, ns.LOCALE) == (strxfrm('Apple'), 56.5)
locale.setlocale(locale.LC_NUMERIC, str(''))
开发者ID:musically-ut,项目名称:natsort,代码行数:18,代码来源:test_utils.py
示例12: test__natsort_key_with_GROUPLETTERS_doubles_text_with_lowercase_letter_first
def test__natsort_key_with_GROUPLETTERS_doubles_text_with_lowercase_letter_first(x):
try:
low = py23_str.casefold
except AttributeError:
low = py23_str.lower
assume(len(x) <= 10)
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(ichain([repr(y)] if type(y) in (float, long, int) else [low(y), y] for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
t = _number_extracter(s, _int_nosign_re, *int_nosafe_nolocale_nogroup)
assert _natsort_key(s, None, ns.GROUPLETTERS) == tuple(''.join(low(z) + z for z in y) if type(y) not in (float, long, int) else y for y in t)
开发者ID:dpetzold,项目名称:natsort,代码行数:11,代码来源:test_utils.py
示例13: test_natsort_key_public_raises_DeprecationWarning_when_called
def test_natsort_key_public_raises_DeprecationWarning_when_called():
# Identical to _natsort_key
# But it raises a deprecation warning
with warnings.catch_warnings(record=True) as w:
warnings.simplefilter("always")
assert natsort_key('a-5.034e2') == _natsort_key('a-5.034e2', key=None, alg=ns.I)
assert len(w) == 1
assert "natsort_key is deprecated as of 3.4.0, please use natsort_keygen" in str(w[-1].message)
# It is called for each element in a list when sorting
with warnings.catch_warnings(record=True) as w:
warnings.simplefilter("always")
a = ['a2', 'a5', 'a9', 'a1', 'a4', 'a10', 'a6']
a.sort(key=natsort_key)
assert len(w) == 7
开发者ID:InSertCod3,项目名称:natsort,代码行数:14,代码来源:test_natsort.py
示例14: test__natsort_key_with_LOCALE_and_UNGROUPLETTERS_places_space_before_string_with_capital_first_letter
def test__natsort_key_with_LOCALE_and_UNGROUPLETTERS_places_space_before_string_with_capital_first_letter(x):
# Locale aware sorting
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
load_locale('en_US')
if dumb_sort():
t = tuple(_number_extracter(s.swapcase(), _float_nosign_exp_re, *float_nosafe_locale_group))
else:
t = tuple(_number_extracter(s, _float_nosign_exp_re, *float_nosafe_locale_nogroup))
if not t:
r = (t, t)
elif t[0] in (null_string, get_strxfrm()(b'\x00') if sys.version[0] == '2' and not use_pyicu else null_string):
r = ((b'' if use_pyicu else '',), t)
else:
r = ((s[0],), t)
assert _natsort_key(s, None, ns.LOCALE | ns.UNGROUPLETTERS | ns.F) == r
# The below are all aliases for UNGROUPLETTERS
assert ns.UNGROUPLETTERS == ns.UG
assert ns.UNGROUPLETTERS == ns.CAPITALFIRST
assert ns.UNGROUPLETTERS == ns.C
locale.setlocale(locale.LC_NUMERIC, str(''))
开发者ID:InSertCod3,项目名称:natsort,代码行数:21,代码来源:test_utils.py
示例15: test__natsort_key_with_LOWERCASEFIRST_inverts_text_case
def test__natsort_key_with_LOWERCASEFIRST_inverts_text_case(x):
assume(len(x) <= 10)
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
assert _natsort_key(s, None, ns.LOWERCASEFIRST) == tuple(_number_extracter(s.swapcase(), _int_nosign_re, *int_nosafe_nolocale_nogroup))
开发者ID:dpetzold,项目名称:natsort,代码行数:5,代码来源:test_utils.py
示例16: test__natsort_key_with_invalid_alg_input_raises_ValueError
def test__natsort_key_with_invalid_alg_input_raises_ValueError():
# Invalid arguments give the correct response
with raises(ValueError) as err:
_natsort_key('a', None, '1')
assert str(err.value) == "_natsort_key: 'alg' argument must be from the enum 'ns', got 1"
开发者ID:dpetzold,项目名称:natsort,代码行数:5,代码来源:test_utils.py
示例17: test__natsort_key_with_TYPESAFE_inserts_spaces_between_numbers
def test__natsort_key_with_TYPESAFE_inserts_spaces_between_numbers(x):
# Turn on TYPESAFE to put a '' between adjacent numbers
assume(len(x) <= 10)
assume(not any(type(y) == float and isnan(y) for y in x))
s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
assert _natsort_key(s, None, ns.TYPESAFE | ns.S) == tuple(_number_extracter(s, _int_sign_re, *int_safe_nolocale_nogroup))
开发者ID:dpetzold,项目名称:natsort,代码行数:6,代码来源:test_utils.py
示例18: test__natsort_key_with_numeric_input_returns_number_with_leading_empty_string
def test__natsort_key_with_numeric_input_returns_number_with_leading_empty_string(x):
assume(not isnan(x))
if x.is_integer():
x = int(x)
assert _natsort_key(x, None, ns.I) == ('', x)
开发者ID:dpetzold,项目名称:natsort,代码行数:5,代码来源:test_utils.py
示例19: test_natsort_keygen_returns_natsort_key_with_alg_option
def test_natsort_keygen_returns_natsort_key_with_alg_option():
a = 'a-5.034e1'
assert natsort_keygen()(a) == _natsort_key(a, None, ns.I)
assert natsort_keygen(alg=ns.F | ns.S)(a) == _natsort_key(a, None, ns.F | ns.S)
开发者ID:InSertCod3,项目名称:natsort,代码行数:4,代码来源:test_natsort.py
示例20: f2
def f2(x):
return _natsort_key(x, lambda y: y.upper(), ns.I)
开发者ID:InSertCod3,项目名称:natsort,代码行数:2,代码来源:test_natsort.py
注:本文中的natsort.utils._natsort_key函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论