本文整理汇总了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
示例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
示例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
示例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] ]])
示例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]
示例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"])
示例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
#.........这里部分代码省略.........
示例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
#.........这里部分代码省略.........