我正在处理包含复数和单数的列表。我想创建两个单独的列表:一个用于复数的列表和一个用于单数的列表。
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']
答案 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]