我有两个列表,我想找到具有相同/部分字符的项目,并将结果放入字典中:
list_a= ['helloyou', 'waithere', 'byenow']
list_b =[ 'wait', 'hello', 'bye']
通缉结果:
dict_c= {'helloyou:hello', 'waithere:wait', 'byenow:bye'}
我尝试过这个,但似乎不起作用:
dict_c= {j:i for i,j in zip(list_a,list_b) if re.match(j,i)}
编辑:
我可能有一些开头不一样的项目,例如:
list_a= ['helloyou', 'waithere', 'byenow']
list_b =[ 'yeswait', 'plushello', 'nobye']
通缉结果:
dict_c= {'helloyou:plushello', 'waithere:yeswait', 'byenow:nobye'}
编辑
如果我可以有这样一种情况,我可以使用分隔符分割项目,并使用start with
list_a = ['hid/jui/helloyou', 'hhh/hdhdh/waithere', 'jcdjcjd/bdcdbc/byenow']
list_b = ['abc/efg/waitai_lp', 'hil/mno/helloai_lj', 'pqr/byeai_ki']
需要结果
dict_c = {'hid/jui/helloyou:hil/mno/helloai_lj','hhh/hdhdh/waithere:abc/efg/waitai_lp', 'jcdjcjd/bdcdbc/byenow:pqr/byeai_ki'}
输出指令:
{'helloyou': 'hello', 'waithere': 'wait', 'byenow': 'bye'}
试试这个-
问题是,您正在
zipping
2个列表中的对应项,而不是在它们之间使用cross-product
。因此,在压缩版本中,只有(bye,byenow)
会从re.match
返回一些内容可以考虑使用解释的方法{{a1},与@ Aksaye
的答案连接。困难的部分是根据一些参数(如被检查字符串的长度)以动态方式设置常量值“3”。现在,我认为最短的单词“再见”是最小的
相关问题 更多 >
编程相关推荐