当前位置: 首页 > 知识库问答 >
问题:

删除不同的字符串元素

司徒隐水
2023-03-14

我有一个字符串元素列表,我想删除3个值,它们是'English''English',和'French'

我尝试了以下代码,但操作无效:

x = ['English','english','French','Dutch','Spanish','Japenese','Italian',]
list = np.random.choice(x,100)
y = [elem for elem in list if elem !='English' or elem !='english' or elem !='French'] 

我想要的最终结果将是一个没有字符串值的列表'English''English',和'French'

共有3个答案

胡修伟
2023-03-14

这里有一个选择。。。只是

def remove(elm,lst):
    idxs = []
    for n,k in enumerate(lst):
        if(k == elm):
            idxs.append(n)
    for n,k in enumerate(idxs):
        del(lst[k-n])

x = ['English','english','French','Dutch','Spanish','Japenese','Italian',]
for k in ["english","English","French"]:
    remove(k,x)
print(x) # ['Dutch', 'Spanish', 'Japenese', 'Italian']
卜昂熙
2023-03-14

您想要的是,而不是

>>> x = ['English', 'english', 'French', 'Dutch', 'Spanish', 'Japenese', 'Italian']
>>> [i for i in x if i != 'English' and i != 'english' and i != 'French']
['Dutch', 'Spanish', 'Japenese', 'Italian']

也就是说,使用而不是在中可以更轻松地执行此操作:

>>> [i for i in x if i not in ['English', 'english', 'French']]
['Dutch', 'Spanish', 'Japenese', 'Italian']

越新霁
2023-03-14

给定elem='English'elem!='English'或elem!='english'True,因为虽然elem!='English'is False,elem!='english'为True。这就是的工作原理

 类似资料:
  • 问题 你想去掉文本字符串开头,结尾或者中间不想要的字符,比如空白。 解决方案 strip() 方法能用于删除开始或结尾的字符。 lstrip() 和 rstrip() 分别从左和从右执行删除操作。 默认情况下,这些方法会去除空白字符,但是你也可以指定其他字符。比如: >>> # Whitespace stripping >>> s = ' hello world \n' >>> s.strip()

  • 问题内容: 我有一个看起来像这样的字符串: 我如何删除第一个; 但只有在字符串的开头找到它? 使用,将删除 所有 。 问题答案: 普通格式,不带正则表达式: 花费: 0.0369毫秒 (0.000,036,954秒) 与: 注意到: 0.1749毫秒 (0.000,174,999秒)第一次运行(编译),和 0.0510毫秒 (0.000,051,021秒)之后。 显然,已在我的服务器上进行了分析。

  • 我正在使用Twitter API,我试图只获得一条tweet及其链接的第一条新闻。如果我,我将得到如下示例: 我只想获得的第一个字符串,同时删除中的链接。下面是我的其余代码:

  • 问题内容: 我想删除字符串的第一个字符。 例如,我的字符串以a开头,而我只想删除它。字符串中有几次不应删除。 我正在用Python编写代码。 问题答案: python 2.x python 3.x 两张画

  • 问题内容: 如果我有一个字符串列表,例如: 为了摆脱每个字符串中的所有s,我该怎么办?我尝试在for循环中使用或,但是它无法像正常字符串(不在列表中)那样工作。有人有建议吗? 问题答案: 尝试这个:

  • 问题内容: 我有像这样的字符串“ aaaabbbccccaaddddcfggghhhh”,我想删除重复的字符,得到像这样的字符串“ abcadcfgh”。 一个简单的实现是: 使用正则表达式是否可能有更好的实现? 问题答案: 你可以这样做: 正则表达式使用反向引用和捕获组。 正常的正则表达式是,但是您必须在Java中使用另一个反斜杠来使反斜杠转义。 如果您想要重复的字符数: 演示版