在一个列表中添加复数,在另一列表中添加单数

时间:2019-03-29 08:53:00

标签: python

我正在处理包含复数和单数的列表。我想创建两个单独的列表:一个用于复数的列表和一个用于单数的列表。

my_list = ['Accounts', 'Account', 'Accredited Investor', 'Accredited Investors', 'Issuer']
plurals = []
singulars = []
for a, b in itertools.combinations(my_list, 2):
    dist = levenshtein_distance(a, b)
    if dist == 1:
        if a[-1:] == 's':
            letter_with_s = a
            plurals.append(a)
        if b[-1:] == 's':
            letter_with_s = b
            plurals.append(a)
        else:
            pass
    else:
        print('False')

我想要的是:plurals = ['Accounts', 'Accredited Investors']

我得到的是:plurals = ['Accredited Investor', 'Accredited Investor']

1 个答案:

答案 0 :(得分:0)

这仅适用于's'情况:

my_list = ['Accounts', 'Account', 'Accredited Investor', 'Accredited Investors', 'Issuer']
words = set(my_list)
plurals = [i for i in my_list if i[:-1] in words]
singulars = [i for i in my_list if i+'s' in words]