如何在单词列表中查找子字符串

时间:2018-11-21 18:22:12

标签: python python-3.x

我正在尝试查找字符串列表中是否存在子字符串, 例如:

我有['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)

但是它什么也没给

1 个答案:

答案 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']