Python:将项目的第一个出现在列表中

罗伯逊

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

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']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从列表中删除一个元素的所有出现在Python?

打印链接列表时,最后一个元素值出现在第一个和最后一个位置

如何使用.count计算一个列表中每个项目出现在python中另一个列表中的次数?

在<select>上使用v-model使第一个选项不出现在select中

从列表中提取出现在特定单词之后的第一个元素

变量出现在我的数据框中的第一个和最后一个日期

当第一个ngIf出现在循环内时,仅在ngFor中调用一次

根据每个项目的第一个键,使用python将字典结果分组列表

R-使用列表中每个项目的第一个元素过滤列表

如何使第一个for语句出现在新行上

无法让第一个栏出现在python matplotlib中

计算直到第一个值出现在熊猫数据框中的天数

Javascript检查一个项目出现在列表中的次数,然后将这些列表加在一起

如何使用linq从第二个收藏夹中删除出现在第一个收藏夹中的每个项目?

正则表达式匹配,直到第一个数字出现在python中的字符串中

为什么在使用ng-options时,只有第一个选项出现在select中?

Ckeditor仅出现在第一个字段中

为什么页脚页出现在Word中的第一个而不是其他页面上

ActionBar出现在第一个活动中,但没有出现在第二个活动中

iOS:第一个字符中的书面重音不会出现在UILabel中

滚动条仅出现在第一个元素上

返回出现在字符串中第一个数字之前的所有字母

为什么需要复制第一个参数的标签以使其出现在调用中?

保证 flycheck-mode 出现在模式行的第一个位置

PHP 生成的选项列表只出现在第一个 Ajax 动态生成的容器上

如何计算也出现在另一个列表中的列表中的项目?

如何提取出现在单词后的第一个浮点数?

根据是否出现在另一个列表中过滤字典中嵌套列表的项目

显示出现在字符串列中的字符串列表中的第一个字符串