我有一个很大的唯一字符串列表(~1000),例如:[bbbbbbbh,jjjhhssa,eeeffus,...]
以及一个较小的子字符串对列表(约50个),这些子字符串对构成了以下每个唯一字符串:[bbbh,jjjh,hssa,eeef,fus,...]
我想创建一个函数,该函数以大型惟一字符串列表(~1000)作为参数,并返回一个字典,其中包含惟一字符串及其两个惟一子字符串的对应值。
例如:
result = {'bbbhbbbh': 'bbbh/bbbh',
'jjjhhssa': 'jjjh/hssa',
'eeeffus': 'eeef/fus',...}
我尝试过for循环,但是我不能打印带有重复项的唯一字符串,我想知道是否有一种更简洁的方法来处理列表解析,同时返回组成唯一字符串的两个对应值?我现在只想使用json包,不需要导入任何新包就可以解决这个问题。谢谢你的帮助。
我的电流环路和输出:
result = []
for string in pair_list:
matches = []
for substring in sub_list:
if substring in string:
matches.append(substring)
if matches:
result.append(matches)
print(result)
[['bbbh'], ['jjjh', 'hssa'], ['eeef', 'fus'],...
2条答案
按热度按时间yvgpqqbh1#
在前面的代码中,它不会在列表项中搜索它的重复项,一旦它在主字符串中获得了所需的子字符串,它就会传递到另一个子字符串,但现在它会通过reggex finditer方法查找多个重复项。
希望这能帮到你。
btqmn9zl2#
根据你的输出格式,我想你会期待一个字典类的对象。其中长字符串是关键字,所有匹配的子字符串是值。只是修改你的代码,我添加了一个dict对象来存储结果,并将子字符串附加到值。因为我们还需要获得重复的子字符串,我们可以使用计数方法和字符串。
我们可以使用dict解析来实现