我必须在列表框中输入成绩,然后查看它们是否大于5.如果它们大于5则存储那些。 这是我到目前为止所得到的......
start_urls = ["www.website1.com", "www.website2.com", "www.website3.com", "www.website4.com"]
allow_domains = []
deny_domains = []
for link in start_urls
# strip http and www
domain = link.replace('http://', '').replace('https://', '').replace('www.', '')
domain = domain[:-1] if domain[-1] == '/' else domain
allow_domains.extend([domain])
deny_domains.extend([domain])
rules = (
Rule(LinkExtractor(allow_domains=allow_domains, deny_domains=()), callback='parse_internal', follow=True),
Rule(LinkExtractor(allow_domains=(), deny_domains=deny_domains), callback='parse_external', follow=False),
)
答案 0 :(得分:0)
您可以使用Linq
bool bigger = listBox.Items.OfType<int>().Where(x => x > 5);
使用
将结果转换为列表可能很有用List<int> filtered = listBox.Items.OfType<int>().Where(x => x > 5).ToList();
答案 1 :(得分:0)
你可以这样做:
var largerThan5 = listBox.Items.Where(I => int.Parse(I.ToString()) > 5).ToList();
答案 2 :(得分:0)
你不能将LINQ用作listBox.Items没有实现IEnumerable。
以此为例:
for (var pos = 0; pos < listBox1.Items.Count; pos++)
{
int value;
if (int.TryParse(listBox1.Items[pos]?.ToString(), out value) && value >= 5)
Debug.WriteLine($"Index: {pos}, Value: {value}");
}