list.contains(num)
时间: 2023-11-12 10:07:01 浏览: 91
这是 Java 语言中 List 接口的一个方法,用于判断 List 中是否包含指定的元素 num。如果包含,则返回 true,否则返回 false。其中 num 是要查找的元素。这个方法的实现会遍历整个 List,逐一比较每个元素和 num 是否相等,因此如果 List 中的元素数量很多,这个方法的执行效率可能会比较低。
相关问题
输出以下代码的缺页序列 import java.util.*; import java.util.Arrays; public class OPT { private static List<Integer> new_list = new ArrayList<Integer>(); private static int temp = 0; public void O(int[] seq,int pages) { int page_break = 0; LinkedList<Integer> list = new LinkedList<Integer>(); for (int i = 0; i < seq.length; i++) { if (!list.contains(seq[i])) { if (list.size() != pages) { list.addLast(seq[i]); page_break++; }else { int flag = list.indexOf(index(seq,list,i)); list.remove(flag); list.addLast(seq[i]); page_break++; } } } //输出结果 System.out.println("断页次数:" + page_break + "\n断页中断率:" + page_break * 1.0 / seq.length); } public static int index(int[] seq, LinkedList<Integer> list, int num) { int value=0; for (int j = num + 1; j < seq.length; j++) { new_list.add(seq[j]); } for (int k = 0; k < list.size(); k++) { if (new_list.indexOf(list.get(k)) != -1) { int flag = new_list.indexOf(list.get(k)); if(temp<flag) { temp=flag; } if(k==list.size()-1) { value=new_list.get(temp); } }else { value=list.get(k); temp=0; new_list.clear(); return value; } } new_list.clear(); temp=0;//令temp=0; return value; } }
由于这段代码中使用了OPT算法,可以通过模拟OPT算法的过程来获得缺页序列,具体步骤如下:
1. 初始化一个长度为pages的list,表示物理页面框。
2. 从页面访问序列中依次读取每一个页面seq[i]。
3. 如果list中已经包含了seq[i],则不发生缺页,继续读取下一个页面。
4. 如果list中不包含seq[i],则发生缺页,需要进行页面置换。
5. 对于当前的seq[i],遍历接下来的所有页面,找到这些页面中最远的一个页面j,使得list中的页面在j之后不再出现,即j是list中页面的最远访问位置。
6. 如果list中有页面在j之后仍然会出现,则选择这些页面中最先出现的页面进行置换;否则选择j位置的页面进行置换。
7. 记录此时的缺页页面seq[i],继续读取下一个页面。
8. 重复步骤2~7,直到读取完所有的页面。
最终得到的缺页序列就是步骤7中记录的所有缺页页面的顺序。
注意,由于OPT算法需要预测接下来所有页面的访问情况,因此在实际应用中很难实现,而且需要占用大量的计算资源。因此,OPT算法常常被用作理论上最优算法的参照标准,而不是实际应用的算法。
def query(request): try: context = { 'segment': 'index' } goodss = [] good = {} # crawl(keyword) df = pd.read_csv('res2.csv',header=None) thread_num = request.GET.get('sort') query = request.GET.get('query') print(thread_num) if not query =='': df = df.loc[df[2].str.contains(query)] if thread_num == 'value_up': df = df.sort_values(by = [1],ascending=False) elif thread_num == 'value_down': df = df.sort_values(by = [1],ascending=True) elif thread_num == 'title': df = df.sort_values(by = [2],ascending=True) for data in df.values.tolist(): good['price'] = data[1] good['store'] = data[3] good['title'] = data[2] good['platform'] = '京东' good['pic_url'] = 'https://www.baidu.com' goodss.append(copy.copy(good))
这是一个 Python 的 Django 框架的视图函数,用于处理用户的查询请求。函数首先将一个空的列表 `goodss` 和一个空的字典 `good` 初始化。然后从文件 'res2.csv' 中读取数据,将用户查询的关键词 `query` 和排序方式 `thread_num` 获取到。如果用户有输入查询关键词,则使用 Pandas 库对数据进行筛选,只保留包含查询关键词的行。根据用户选择的排序方式,使用 Pandas 库对数据进行排序。最后将每一行数据封装成一个字典 `good`,并将该字典拷贝到列表 `goodss` 中,最终将 `goodss` 列表作为上下文参数传递给模板进行渲染。
阅读全文