input = [ "a dog is a canine", "a fox is a canine", "blue is a color"]
output = {}
[output.setdefault(v, []).append(k) for k,v in (s.split(' is a ') for s in input)]
print(output)
dict = {}
phrases = ['dog is a canine', 'wolf is a canine', 'blue is a color']
for phrase in phrases:
x, y = phrase.split(' is a ')
if y not in dict:
dict[y] = []
dict[y].append(x)
print dict
对于给定的需求,不必使用regex—这有点开销。通过使用带有append()和split()和list comprehension的内置setdefault()方法,您几乎可以用一行代码来解决任务。你知道吗
如果窗体始终为“x是y”,则可以使用split()。那么只需要检查y是否已经在你的字典中,并相应地添加。检查以下示例:
将打印
相关问题 更多 >
编程相关推荐