我有一个字符串元素列表,我想删除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'
。
这里有一个选择。。。只是
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']
您想要的是和
,而不是或
。
>>> 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']
给定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中使用另一个反斜杠来使反斜杠转义。 如果您想要重复的字符数: 演示版