我有一个黑名单int列表
List<int> blackList = new List<int>(){1, 2, 3};
我有List可以从某些资源中获取一些值
List<abc>
数据包含{1,"data1"},{ 2,"data2"},{3,"data3"},{4,"data4"},{5,"data5"},{6,"data6"}
等项目;
基于blackList
如何获取所有已列入黑名单的项目 。
我尝试了Lambda表达式中的Except
。
我的新列表应该有{4,"data4"},{5,"data5"},{6,"data6"}
答案 0 :(得分:1)
查询 时尝试使用 Linq
using System.Linq;
...
List<int> source = new List<int>() {1, 2, 3, 4, 5, 6};
List<int> blackList = new List<int>() {1, 2, 3};
如果您想从source
获得与众不同的项目:
var result = source.Except(blackList);
如果source
可以包含您要保留的重复项:
var result = source.Where(item => blackList.Contains(item));
在第二个查询中,考虑将blackList
转换为HashSet<T>
对O(1)
效率更高的O(N)
:{p} >
Contains
答案 1 :(得分:0)
Linq非常适合linq这样的东西:
import serial
from time import sleep
ser = serial.Serial("COM2", 9600, timeout =5)
ser.write(0x02)
ser.write(0x65)
ser.write(0x03)
sleep(0.5)
x = ser.readline()
print(x)