在python-lis中删除重复项

2024-05-13 03:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下标题:

titles = ['Saw (US)', 'Saw (AU)', 'Dear Sally (SE)']

如何获得以下信息:

^{pr2}$

基本上,我需要删除重复的标题。显示哪个区域并不重要,只要它处于打开状态(即,我可以删除任何重复项)。在

以下是我尝试过的,但没有成功:

[title for title in localized_titles if title.split(' (')[0] not in localized_titles]

Tags: in信息区域标题title状态localizedsally
3条回答

{确保你的标题是正确的,如果你的格式是正确的:

generic_titles = [t.split('(')[0] for t in titles]
titles = [title for title in titles if title.split(' (')[0] not in generic_titles]

但是,当标题中有其他括号时,这一切都会中断。在

我不确定这是否是最优雅的解决方案,但它应该有效-您可以使用您的非地域版本的标题作为dict键。在

unique_titles = dict((title.rsplit(' (', 1)[0], title) for title in titles)

或者如果你需要保持秩序,一个有序的信息。在

独一无二的_头衔、价值观()是包括领土在内的标题(每个标题一个)。在

使用rsplit的可选参数将其限制为最多一个拆分,rsplit从字符串的结尾而不是开始查找paren。在

尝试使用字典来跟踪数组中每个项的实例数。让dictionary中的键是数组中的值,dictionary的值为true或false,这取决于它是否已经看到该项。在

然后,可以遍历数组,向字典中添加项,并从数组中删除项(如果它们存在于字典中)。我就是这么做的,但我还在学习。在

相关问题 更多 >