我正在使用一个返回字符串列表的方法。类似的东西:
a=get_all_elements()
我想在“a”中使用字符串并创建列表字典。类似的东西:
dict = { element1, element2, element3}
这里同样,element1是一个字符串列表,它将由另一个返回字符串列表的方法填充。例如:
data = {'element1': [string1, string2, string3], 'element2': [string1, string2, string3]...}
我该怎么做?
答案 0 :(得分:1)
此代码:
a = get_all_elements()
mydict = {ai:[] for ai in a}
将创建一个包含空列表的字典:
{'element1':[], 'element2':[], 'element3':[]}
然后你可以通过附加你的字符串填充它:
mydict['element1'].append('stringN')
或创建列表:
mydict['element1'] = [s for s in create_strings()]
如果此函数将元素作为参数,则可以执行以下操作:
mydict = {ai:[s for s in create_strings(ai)] for ai in a}
答案 1 :(得分:0)
您可以使用defaultdict
对象,请参阅http://docs.python.org/2/library/collections.html#collections.defaultdict
>>> keys = ['a','b','c']
>>> values = [['x','y','z'], ['d','e','f'], ['o','p','q']]
>>> from collections import defaultdict
>>> x = defaultdict(list)
>>> for i,j in zip(keys, values):
... for k in j:
... x[i].append(k)
...
>>> for i in x:
... print i, x[i]
...
a ['x', 'y', 'z']
c ['o', 'p', 'q']
b ['d', 'e', 'f']