我有一份包含多个列表的列表:
my_list=[['word:', 'house', 'garden', '0,2%'],
['word:', 'house', 'garden', '0,2%'],
['house', 'garden', '0,2%'],
['house', 'garden', '0,2%'],
['garden', '0,2%', '0,125%'],
['house', '0,2%', '?????'],
['house', 'garden', '0,02%'],
['house', 'garden', '0,02%'],
['garden', '0,02%'],
['house', 'garden', '0,2%'],
['garden', '0,2%'],
['house', '0,2'],
['house', '0,2', '%'],
['house', 'garden', 'kids', '0,2%'],
['house', 'garden', 'kids', '0,2%'],
['house', '0,2%', 'boy'],
['house', '0,12%'],
['house', '4%.'],
['house', '4%.', '4.'],
['house', '0,2%”.']]
我需要根据“房子”和“花园”这些词提取数字,以便得到如下结果:
{'garden': ['0,2', '0,2', '0,2', '0,2', '0,2', '0.125', '0.02', '0.02', '0.02', '0.2', '0.2', '0,2'], 'house': ['0.2', '0.2', '0.2', '0.2', '0,2', '0,02', '0,02', '0,2', '0,2', '0,2', '0,2', '0,2', ,'0,2','0,12', '4.', '4.', '4.', '0,2']}
我该如何获取这些值?
不幸的是,这段代码:
result = defaultdict(list)
for l in my_list:
k = None
for v in l:
if v in keywords:
k = v
if re.match(r'[0-9,.]+$', v):
num = v
if k is not None:
result[k].append(num)
它没有给我预期的输出结果。