我正在尝试查找字符串列表中是否存在子字符串, 例如:
我有['GGBASDEPINK','ASDEKNIP','PINK','WORDRRAB','BAR']
字词列表
PINK是ASDEKNIP的子字符串,因为PINK的反向是KNIP 而单词BAR在WORDRRAB中是因为相反是RAB
如何查找子带是否退出?如果是的话,把这个字符串反过来 因此新列表应为:
d = ['GGBASDEPINK','ASDEKNIP','PINK','WORDRRAB','BAR' ,'KNIP', 'RAB']
我尝试过
d = ['GGBASDEPINK','ASDEKNIP','PINK','WORDRRAB','BAR']
for word in d:
word = word[::-1]
if word in d:
print(word)
但是它什么也没给
答案 0 :(得分:1)
使用itertools.permutations
:
from itertools import permutations
d = ['GGBASDEPINK','ASDEKNIP','PINK','WORDRRAB','BAR']
for x, y in permutations(d, 2):
rev = y[::-1]
if rev in x:
d.append(rev)
print(d)
# ['GGBASDEPINK', 'ASDEKNIP', 'PINK', 'WORDRRAB', 'BAR', 'KNIP', 'RAB']