Tag: 列表

使用Python列表作为队列的效率

最近一位同事写了一个程序,用Python列表作为队列。 换句话说,当需要插入项目时使用了.append(x) ,而在需要删除项目时使用了.pop(0) 。 我知道Python有collections.deque ,我试图找出是否花费我的(有限的)时间来重写这段代码来使用它。 假设我们执行数以百万计的追加和popup,但从来没有超过几千个条目,他的列表使用会成为一个问题? 特别是,Python列表实现所使用的底层数组是否会继续无限增长,即使列表只有一千个东西,或者Python最终是否会重新realloc并释放一些内存?

Python在列表中search

我有两个列表的列表,需要search的东西。 如果列表是: list =[ ['a','b'], ['a','c'], ['b','d'] ] 我可以很容易地search一对 ['a','b'] in list 现在,有没有办法看看我是否有一个string出现在第二个位置? 我可以做这个: for i in range (0, len(list)): if list[i][1]==search: found=1 但没有for循环没有一个(更好的)方法吗? 我不需要知道i或在发现后继续循环。

如何用另一个列表中的对象的属性创build一个新列表

想象一下,我有一个特定对象的列表: List<Student> 而且我需要在上面的列表中生成另一个包括学生ID的列表: List<Integer> 避免使用循环,是否有可能通过使用Apache集合或番石榴来实现这一点? 哪些方法应该对我的情况有用? 任何帮助将不胜感激,谢谢。

如何获得std :: list中的next(previous)元素而不递增(递减)迭代器?

说我有一个std::list<int> lst和一些std::list<int>::iterator it迭代通过列表。 并依赖于it价值,我想在我的代码中使用it + 1或it – 1 。 是否有一些好的方法来做像next() , prev() (我无法在stl文档中find这样的东西)? 或者我应该每次复制it并增加(减less)副本?

插入项目或将它们添加到sorting列表后sorting列表是否更快?

如果我有一个sorting列表(比如sorting快速sorting),如果我有很多值要添加,最好是暂停sorting,并将其添加到最后,然后sorting,或使用二进制印章正确放置项目join他们。 如果项目是随机的,或者已经或多或less地有所不同,它会有所作为吗?

斯卡拉的“::”运算符,它是如何工作的?

在Scala中,我可以创buildcaseclass, case class Foo(x:Int) ,然后将它放在如下所示的列表中: List(Foo(42)) 现在,这里没什么奇怪的。 以下对我来说很陌生。 operator ::是一个列表上的函数,对吗? 在Scala中有一个参数的函数,我可以用中缀表示法来调用它。 一个例子是1 + 2是对象Int上的函数(+) 。 我刚才定义的Foo类没有::运算符,那么下面是如何可能的? Foo(40) :: List(Foo(2)) 在Scala 2.8 RC1中,我从交互式提示中得到以下输出: scala> case class Foo(x:Int) defined class Foo scala> Foo(40) :: List(Foo(2)) res2: List[Foo] = List(Foo(40), Foo(2)) 我可以继续使用它,但是解释是什么?

python中使用pop(),list 和+ =时的评估顺序是什么?

a = [1, 2, 3] a[-1] += a.pop() 这导致[1, 6] 。 a = [1, 2, 3] a[0] += a.pop() 这导致[4, 2] 。 什么样的评价顺序给出了这两个结果?

Pythonic方法创build多个列表中包含的所有值的联合

在Python中做一些XML处理。 (编辑:我被迫使用Python 2.4这个项目,嘘!)我想知道什么是最Python的方法来做到这一点(创build多个列表中的所有值的联合): def getUniqueAttributeValues(xml_attribute_nodes): # split attribute values by whitespace into lists result_lists=list(item.getContent().split() for item in xml_attribute_nodes) # find all unique values unique_results=[] for result_list in result_lists: for result in result_list: if result in unique_results: continue unique_results.append(result) return unique_results

多种数据types的列表?

我有两个class: public class MachineLine { public double X1; public double Y1; public double X2; public double Y2; public double Thickness; } public class MachineCircle { public double CenterX; public double CenterY; public double Radius; } 我想做一个列表,可以同时拥有这两个,但我不希望我的列表能够容纳任何其他数据types。 如何才能做到这一点?

如何将一系列项目添加到IListvariables

对于IList<T>没有AddRange()方法。 如何添加项目列表到IList<T>而不迭代项目和使用Add()方法?