嗨,我有一个要查找的单词列表,如果找到了这个单词,我想将值从我的数组中删除
private static string[] WordList = { "Example No", "Name", "Client ID"};
var listToTest = new[] { "ME 0.3", "Example No.: 1243", "Name.:"};
var newList= new List<string>();
foreach (var value in listToTest)
{
if (!WordList.Any(x => x.Contains(value)))
{
newList.Add(value);
}
}
return newList.ToArray();
我的测试返回我只希望其返回“ ME 0.3”
的所有值答案 0 :(得分:3)
!WordList.Any(x => x.Contains(value))
中没有元素包含true
,则 WordList
将返回value
,如果false
中至少有一个元素包含<{1}包含WordList
。
因此您的代码将返回value
的元素数组,listToTest
中没有元素包含它们,但是正如您所说的,您希望包含WordList
的元素数组listToTest
的任何元素。因此,在WordList
中将... x.Contains(value)))
和x
彼此替换:
value
顺便有一种更整洁的方式:
private static string[] WordList = { "Example No", "Name", "Client ID"};
var listToTest = new[] { "ME 0.3", "Example No.: 1243", "Name.:"};
var newList= new List<string>();
foreach (var value in listToTest)
{
if (!WordList.Any(x => value.Contains(x)))
{
newList.Add(value);
}
}
return newList.ToArray();
说明:
Enumerable.Where
方法:根据谓词过滤值序列。Enumerable.Any
方法:确定序列中的任何元素是否存在或满足条件。Enumerable.ToArray
方法:从IEnumerable创建数组。String.Contains(String)
方法:返回一个值,该值指示在该字符串中是否出现了指定的子字符串。答案 1 :(得分:-1)
不是最有效的,但是有效。
import numpy as np
import matplotlib.pyplot as plt
arr = np.array([[3,4],[2,3.5],[10,11],[9,10]])
fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(arr)
ax.set_title("example plot")
ax.set_yticklabels([])
ax.set_yticks([])