Python:首先在列表中出现一个项目
发布时间:2020-12-20 12:34:28 所属栏目:Python 来源:网络整理
导读:除了第一次出现之外,如何删除列表中所有特定值的出现? 例如.我有一个清单: letters = ['a','b','c','d','a','c'] 我需要一个看起来像这样的函数: preserve_first(letters,'c') 并返回: ['a','a'] 删除除第一次出现的给定值之外的所有内容,否则保留顺序.
除了第一次出现之外,如何删除列表中所有特定值的出现?
例如.我有一个清单: letters = ['a','b','c','d','a','c'] 我需要一个看起来像这样的函数: preserve_first(letters,'c') 并返回: ['a','a'] 删除除第一次出现的给定值之外的所有内容,否则保留顺序.如果有办法用pandas.Series做更好的事情. 解决方法
您只想删除重复的’c’.因此,您希望过滤系列根本不重复的位置,或者它不等于’c’.我喜欢使用pd.Series.ne代替pd.Series!=因为包装括号的减少增加了可读性(我的观点).
s = pd.Series(letters) s[s.ne('c') | ~s.duplicated()] 0 a 1 b 2 c 5 d 7 a 8 a dtype: object 完全按照要求去做. def preserve_first(letters,letter): s = pd.Series(letters) return s[s.ne(letter) | ~s.duplicated()].tolist() preserve_first(letters,'c') ['a','a'] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |