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


Python MultiDict.setlistdefault方法代码示例

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


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

示例1: createMultiDict

# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import setlistdefault [as 别名]
def createMultiDict(file_name):
  Mdict, uniqueTags = MD(), []
  count = max(enumerate(open(file_name)))[0]
  iterators = lineGenerator(file_name)

  try:
    for i in xrange(count):
      trans = string.maketrans('\n', '\t')# because there are \n characters on each line
      line = string.translate(iterators.next(), trans).split('\t')
      tag, entity = line[0], line[1]

      if tag not in uniqueTags:
        uniqueTags = uniqueTags +[tag]
      entity = getWords(entity) # Extract words from sentence: Stopwords removed, punctuations removed

      # remove ' ' and "" from the list
      entity = [i for i in entity if entity!="" or entity!=" "]
      line_words = entity + [tag] # Words in a single line of the file
      for c in xrange(len(line_words)-1):
        Mdict.setlistdefault(line_words[c]).extend([line_words[c+1:] + line_words[:c] + [line_words[c]]])

  except StopIteration:
    pass

  return Mdict, uniqueTags
开发者ID:strogo,项目名称:texttools,代码行数:27,代码来源:createDictionary.py

示例2: createMultiDict

# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import setlistdefault [as 别名]
def createMultiDict(file_name):
  Mdict, uniqueTags = MD(), []
  count = max(enumerate(open(file_name)))[0]
  iterators = lineGenerator(file_name)
  super_dictionary= ast.literal_eval(open("super_dictionary.json","r").readline())
  bar = progressbar.ProgressBar(maxval= count, \
    widgets=[progressbar.Bar(':', '[', ']'), ' ', progressbar.Percentage()])
    #Variant #Context #Topic  #Tag
  try:
    for i in xrange(count):
      trans = string.maketrans('\n', '\t')# because there are \n characters on each line
      line = string.translate(iterators.next(), trans).split('\t')[:-1]
      lookup = super_dictionary[line[1]]
      line_words = list(set(SM.getWords(line[1])).union(set(lookup[0])))
      if line[0] not in uniqueTags:
        uniqueTags = uniqueTags +[line[0]]
      for c in xrange(len(line_words)):
        Mdict.setlistdefault(line_words[c]).extend([[ line_words ,line, lookup[1], lookup[2] ]])
      bar.update(i+1)
    bar.finish()
  except StopIteration:
    pass


  return Mdict, uniqueTags
开发者ID:strogo,项目名称:texttools,代码行数:27,代码来源:dictionary_v6.py

示例3: createMultiDict

# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import setlistdefault [as 别名]
def createMultiDict(file_name):
  Mdict, uniqueTags = MD(), []
  count = max(enumerate(open(file_name)))[0]
  iterators = lineGenerator(file_name)

  try:
    for i in xrange(count):
      trans = string.maketrans('\n', '\t')# because there are \n characters on each line
      line = string.translate(iterators.next(), trans).split('\t')[:-1]
      line_words = getWords(line[1])
      if line[0] not in uniqueTags:
        uniqueTags = uniqueTags +[line[0]]
      for c in xrange(len(line_words)):
        Mdict.setlistdefault(line_words[c]).extend([[line_words ,line]])

  except StopIteration:
    pass

  return Mdict, uniqueTags
开发者ID:strogo,项目名称:texttools,代码行数:21,代码来源:dictionary_v3.py

示例4: build_Mdictionary

# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import setlistdefault [as 别名]
class build_Mdictionary(object):

  def __init__(self, file_name, super_dictionary_name):
    self.file_name, self.super_dictionary_name = file_name, super_dictionary_name
    self.Mdict, self.uniqueTags, self.super_dictionary= MD(), [],  {}

  def createMultiDict(self):
    print "Modifying the Master Dictionary with entries in Super Dictionary..."
    temp_d = self.MD_modified_by_SD()
    print "Appending the new entries in Super Dictionary to Multi Dictionary..."
    self.SD_appended_to_MD(temp_d)
    return self.Mdict, self.uniqueTags

  def MD_modified_by_SD(self):
    count, iterators = max(enumerate(open(self.file_name)))[0], lineGenerator(self.file_name)
    self.super_dictionary= ast.literal_eval(open(self.super_dictionary_name,"r").readline())
    trans, temp_d = string.maketrans('\n', '\t'), {}# because there are \n characters on each line

    try:
      for i in xrange(count):
        line = string.translate(iterators.next(), trans).split('\t')[:-1]
        lookup = self.super_dictionary[line[1]]
        temp_d[line[1]] = ""
        line_words = list(set(SM.getWords(line[1])).union(set(lookup[0])))
        if line[0] not in self.uniqueTags:
          self.uniqueTags = self.uniqueTags +[line[0]]
        for c in xrange(len(line_words)):
          self.Mdict.setlistdefault(line_words[c]).extend([[ line_words ,line, lookup[1], lookup[2] ]])

    except StopIteration:
      pass

    return temp_d

  def SD_appended_to_MD(self, temp_d):
    for k,v in self.super_dictionary.iteritems():
      if k not in temp_d:
        for c in xrange(len(v[0])):
          self.Mdict.setlistdefault(v[0][c]).extend([[ v[0] ,[v[3], k], v[1], v[2] ]])
开发者ID:strogo,项目名称:texttools,代码行数:41,代码来源:Mdictionary.py

示例5: createMultiDict

# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import setlistdefault [as 别名]
def createMultiDict(file_name):
  Mdict = MD()

  count = max(enumerate(open(file_name)))[0]

  iterators = lineGenerator(file_name)

  stops = stopwords.words('english')
  stop2 =[]
  for i in stops:
    stop2.append(i[0].upper() + i[1:])
  stops = stops + stop2

  uniqueTags = []

  try:
    for i in xrange(count):
      trans = string.maketrans('\n', '\t')
      line = string.translate(iterators.next(), trans)
      line=line.split('\t')
      tag = line[0]

      entity=line[1]
      entity = stripSentence(entity) # remove punctuation
      entity = entity.split(' ')
      entity = removeStopwords(entity, stops) # remove stopwords

      # remove  " " from the list
      for i in xrange(entity.count("")):
        entity.remove("")
      # remove ' ' from the list
      for i in xrange(entity.count(" ")):
        entity.remove(" ")

      line = entity + [tag]

      if tag not in uniqueTags:
        uniqueTags.append(tag)

      for c in reversed(xrange(1,len(line))):
        Mdict.setlistdefault(line[c-1]).extend([line[c]])
        Mdict.setlistdefault(" ".join(line[c-1:-1])).extend([line[-1]])
        if c!= (len(line)-1):
          Mdict.setlistdefault(" ".join(line[c-1:c+1])).extend([line[-1]])

  except StopIteration:
    pass

  return [Mdict, uniqueTags]
开发者ID:strogo,项目名称:texttools,代码行数:51,代码来源:Dicts2.py

示例6: MultiDict

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

post = MultiDict()
post.setlist("foo", ["ham", "ham2"])
post.setlistdefault("foo", ["answer", "answer2"])
开发者ID:tj0822,项目名称:Python,代码行数:7,代码来源:2-45.py

示例7: test_multidict

# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import setlistdefault [as 别名]
def test_multidict():
    """Multidict behavior"""
    md = MultiDict()
    assert isinstance(md, dict)

    mapping = [('a', 1), ('b', 2), ('a', 2), ('d', 3),
               ('a', 1), ('a', 3), ('d', 4), ('c', 3)]
    md = MultiDict(mapping)

    # simple getitem gives the first value
    assert md['a'] == 1
    assert md['c'] == 3
    assert_raises(KeyError, lambda: md['e'])
    assert md.get('a') == 1

    # list getitem
    assert md.getlist('a') == [1, 2, 1, 3]
    assert md.getlist('d') == [3, 4]
    # do not raise if key not found
    assert md.getlist('x') == []

    # simple setitem overwrites all values
    md['a'] = 42
    assert md.getlist('a') == [42]

    # list setitem
    md.setlist('a', [1, 2, 3])
    assert md['a'] == 1
    assert md.getlist('a') == [1, 2, 3]

    # verify that it does not change original lists
    l1 = [1, 2, 3]
    md.setlist('a', l1)
    del l1[:]
    assert md['a'] == 1

    # setdefault, setlistdefault
    assert md.setdefault('u', 23) == 23
    assert md.getlist('u') == [23]
    del md['u']

    assert md.setlistdefault('u', [-1, -2]) == [-1, -2]
    assert md.getlist('u') == [-1, -2]
    assert md['u'] == -1

    # delitem
    del md['u']
    assert_raises(KeyError, lambda: md['u'])
    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
#.........这里部分代码省略.........
开发者ID:d1on,项目名称:werkzeug,代码行数:103,代码来源:test_datastructures.py

示例8: test_multidict

# 需要导入模块: from werkzeug.datastructures import MultiDict [as 别名]
# 或者: from werkzeug.datastructures.MultiDict import setlistdefault [as 别名]
def test_multidict():
    """Multidict behavior"""
    md = MultiDict()
    assert isinstance(md, dict)

    mapping = [('a', 1), ('b', 2), ('a', 2), ('d', 3),
               ('a', 1), ('a', 3), ('d', 4), ('c', 3)]
    md = MultiDict(mapping)

    # simple getitem gives the first value
    assert md['a'] == 1
    assert md['c'] == 3
    assert_raises(KeyError, lambda: md['e'])
    assert md.get('a') == 1

    # list getitem
    assert md.getlist('a') == [1, 2, 1, 3]
    assert md.getlist('d') == [3, 4]
    # do not raise if key not found
    assert md.getlist('x') == []

    # simple setitem overwrites all values
    md['a'] = 42
    assert md.getlist('a') == [42]

    # list setitem
    md.setlist('a', [1, 2, 3])
    assert md['a'] == 1
    assert md.getlist('a') == [1, 2, 3]

    # verify that it does not change original lists
    l1 = [1, 2, 3]
    md.setlist('a', l1)
    del l1[:]
    assert md['a'] == 1

    # setdefault, setlistdefault
    assert md.setdefault('u', 23) == 23
    assert md.getlist('u') == [23]
    del md['u']

    assert md.setlistdefault('u', [-1, -2]) == [-1, -2]
    assert md.getlist('u') == [-1, -2]
    assert md['u'] == -1

    # delitem
    del md['u']
    assert_raises(KeyError, lambda: md['u'])
    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
#.........这里部分代码省略.........
开发者ID:t11e,项目名称:werkzeug,代码行数:103,代码来源:test_datastructures.py


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