当前位置: 首页>>代码示例>>Python>>正文


Python MultiDict.listvalues方法代码示例

本文整理汇总了Python中werkzeug.datastructures.MultiDict.listvalues方法的典型用法代码示例。如果您正苦于以下问题:Python MultiDict.listvalues方法的具体用法?Python MultiDict.listvalues怎么用?Python MultiDict.listvalues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在werkzeug.datastructures.MultiDict的用法示例。


在下文中一共展示了MultiDict.listvalues方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_multidict

# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import listvalues [as 别名]

#.........这里部分代码省略.........
    del md['d']
    assert md.getlist('d') == []

    # keys, values, items, lists
    assert list(sorted(md.keys())) == ['a', 'b', 'c']
    assert list(sorted(md.iterkeys())) == ['a', 'b', 'c']

    assert list(sorted(md.values())) == [1, 2, 3]
    assert list(sorted(md.itervalues())) == [1, 2, 3]

    assert list(sorted(md.items())) == [('a', 1), ('b', 2), ('c', 3)]
    assert list(sorted(md.items(multi=True))) == \
           [('a', 1), ('a', 2), ('a', 3), ('b', 2), ('c', 3)]
    assert list(sorted(md.iteritems())) == [('a', 1), ('b', 2), ('c', 3)]
    assert list(sorted(md.iteritems(multi=True))) == \
           [('a', 1), ('a', 2), ('a', 3), ('b', 2), ('c', 3)]

    assert list(sorted(md.lists())) == [('a', [1, 2, 3]), ('b', [2]), ('c', [3])]
    assert list(sorted(md.iterlists())) == [('a', [1, 2, 3]), ('b', [2]), ('c', [3])]

    # copy method
    copy = md.copy()
    assert copy['a'] == 1
    assert copy.getlist('a') == [1, 2, 3]

    # update with a multidict
    od = MultiDict([('a', 4), ('a', 5), ('y', 0)])
    md.update(od)
    assert md.getlist('a') == [1, 2, 3, 4, 5]
    assert md.getlist('y') == [0]

    # update with a regular dict
    md = copy
    od = {'a': 4, 'y': 0}
    md.update(od)
    assert md.getlist('a') == [1, 2, 3, 4]
    assert md.getlist('y') == [0]

    # pop, poplist, popitem, popitemlist
    assert md.pop('y') == 0
    assert 'y' not in md
    assert md.poplist('a') == [1, 2, 3, 4]
    assert 'a' not in md
    assert md.poplist('missing') == []

    # remaining: b=2, c=3
    popped = md.popitem()
    assert popped in [('b', 2), ('c', 3)]
    popped = md.popitemlist()
    assert popped in [('b', [2]), ('c', [3])]

    # type conversion
    md = MultiDict({'a': '4', 'b': ['2', '3']})
    assert md.get('a', type=int) == 4
    assert md.getlist('b', type=int) == [2, 3]

    # repr
    md = MultiDict([('a', 1), ('a', 2), ('b', 3)])
    assert "('a', 1)" in repr(md)
    assert "('a', 2)" in repr(md)
    assert "('b', 3)" in repr(md)

    # add and getlist
    md.add('c', '42')
    md.add('c', '23')
    assert md.getlist('c') == ['42', '23']
    md.add('c', 'blah')
    assert md.getlist('c', type=int) == [42, 23]

    # iter interfaces
    assert list(zip(md.keys(), md.listvalues())) == list(md.lists())
    assert list(zip(md, md.iterlistvalues())) == list(md.iterlists())
    assert list(zip(md.iterkeys(), md.iterlistvalues())) == list(md.iterlists())

    # setdefault
    md = MultiDict()
    md.setdefault('x', []).append(42)
    md.setdefault('x', []).append(23)
    assert md['x'] == [42, 23]

    # to dict
    md = MultiDict()
    md['foo'] = 42
    md.add('bar', 1)
    md.add('bar', 2)
    assert md.to_dict() == {'foo': 42, 'bar': 1}
    assert md.to_dict(flat=False) == {'foo': [42], 'bar': [1, 2]}

    # popitem from empty dict
    assert_raises(KeyError, MultiDict().popitem)
    assert_raises(KeyError, MultiDict().popitemlist)

    # key errors are of a special type
    assert_raises(MultiDict.KeyError, MultiDict().__getitem__, 42)

    # setlist works
    md = MultiDict()
    md['foo'] = 42
    md.setlist('foo', [1, 2])
    assert md.getlist('foo') == [1, 2]
开发者ID:d1on,项目名称:werkzeug,代码行数:104,代码来源:test_datastructures.py


注:本文中的werkzeug.datastructures.MultiDict.listvalues方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。