Слегка измененные строки в списке проблем при проверке по отсортированному списку строк.
Я проверяю строки, представляющие содержимое некоторых файлов.И у меня есть список определенных строк, с которыми я проверяю, однако иногда к одной и той же строке может добавляться звездочка (*) в конце, что приводит к слегка измененным дубликатам в этом списке.
В настоящее время:
# This is minimal very minimal code example:
for _word in sorted(['Microsoft','Microsoft*']):
print(_word)
Желаемый:
for _word in sorted(['Microsoft']):
print(_word)
# But still be able to check for 'Microsoft*' without having duplicates in the list.
Окончательное решение:
import os
import sys
if __name__ == '__main__':
default_strings = sorted([
'microsoft',
'linux',
'unix',
'android'
])
text = str("""
Microsoft* is cool, but Linux is better.
""")
tokens = text.split(" ")
for token in tokens:
token = token.lower()
if token.endswith('*'):
token = token[:-1]
if token in default_strings:
print(token)
РЕДАКТИРОВАТЬЕсли есть лучший способ, пожалуйста, дайте мне знать.Большое спасибо всем, кто участвовал и ответил.