【发布时间】:2015-01-11 17:52:55
【问题描述】:
我基于文件中的元素创建了一个 Python 列表,即当 row[3] 中存在 row[0] 的元素时,将这两行都附加到列表 'matches' 中,反之亦然,当 row[3] 的元素是在row[0] 中,将它们附加到'matches'。列表如下所示
['Peripheral Blood Mononuclear Cells;peripheral blood mononuclear cells', 'Blood;peripheral blood mononuclear cells', 'Hispanic or Latino;hispanic', 'Black;black', 'Black;black', 'Asian;asian', 'Asian;asian', 'Asian;caucasian', 'caucasian;caucasian', 'caucasian;caucasian', 'Seizures;seizures', 'Seizure;seizures', 'Seizures;seizures', 'Seizures;seizures', 'Abscess;abscess']
我只想打印每个元素的第一个输出或完美匹配,无论下面的情况如何:
['Peripheral Blood Mononuclear Cells;peripheral blood mononuclear', 'Hispanic or Latino;hispanic', 'Black;black', 'Asian;asian', 'caucasian;caucasian', 'Seizures;seizures', 'Abscess;abscess']
如果您注意到,列表中的每个元素都由";" 分隔。我试图以此为标准并进行比较。我只想要基于";" 之后的单词/单词的每个元素的第一次出现,或者当两边的单词相同时。例如,对于 Peripheral Blood Mononuclear Cells,它选择了第一个出现,而对于白种人,它选择了第二个,因为它完美匹配。在投票之前,我非常感谢任何帮助。
【问题讨论】:
-
试试
list(set(my_list)) -
@PadraicCunningham 我发布的第二个列表是我需要的输出,即列表元素中的单词之间的第一次出现或完全匹配,用分号分隔。
-
所以您只想要唯一的值?
-
@Hackaholic Set 无法满足我的需求。
-
@PadraicCunningham 是的,但没有设置。它也应该不区分大小写。
标签: python regex list python-2.7 compare