gpt4 book ai didi

Python:保留列表中项目的第一次出现

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:07 26 4
gpt4 key购买 nike

如何删除列表中除第一次出现以外的所有特定值?
例如。我有一个列表:

letters = ['a', 'b', 'c', 'c', 'c', 'd', 'c', 'a', 'a', 'c']

我需要一个看起来像这样的函数:

preserve_first(letters, 'c')

并返回这个:

['a', 'b', 'c', 'd', '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', 'b', 'c', 'd', 'a', 'a']

关于Python:保留列表中项目的第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45701114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com