Вы применяете полосу при проведении теста на загрязнение - оператор if
- но вы не сохраняете версию строки с зачисткой - и добавляете в окончательный список версию без зачистки.
Просто измените свой код на:
gender_distinct = []
survey_genders = ['Male', 'Female', 'Other', 'Male; Other', 'Gender non-conforming', 'Male; Gender non-conforming', 'Female; Transgender', 'Transgender', 'Female; Gender non-conforming', 'Male; Female', 'Male; Female; Transgender; Gender non-conforming; Other', 'Transgender; Gender non-conforming', 'Male; Transgender', 'Female; Transgender; Gender non-conforming', 'Male; Female; Transgender; Gender non-conforming', 'Male; Female; Transgender', 'Gender non-conforming; Other', 'Male; Transgender; Gender non-conforming', 'Male; Gender non-conforming; Other', 'Male; Female; Other', 'Male; Female; Gender non-conforming', 'Female; Gender non-conforming; Other', 'Transgender; Other', 'Female; Transgender; Gender non-conforming; Other', 'Male; Female; Transgender; Other', 'Male; Female; Gender non-conforming; Other',
'Female; Other', 'Female; Transgender; Other', 'Male; Transgender; Other']
for gender in list(survey_genders):
for gender_each in gender.split(';'):
gender_each = gender_each.strip()
if gender_each not in gender_distinct:
print(gender_each)
gender_distinct.append(gender_each)
print(" Distinct Gender ")
print(gender_distinct)
Теперь, в Python, если вам нужен контейнер, в котором будет храниться ровно одна копия каждого элемента, проще использовать set
, чем list
:
...
gender_distinct = set()
for gender in list(survey_genders):
for gender_each in gender.split(';'):
gender_distinct.add(gender_each.strip())
print(" Distinct Gender ")
print(gender_distinct)