Tag: 列表

从列表中获取随机样品,同时保持项目的顺序?

我有一个sorting的列表,让我们说:(它不是真的只是数字,它是一个耗时的algorithmsorting的对象列表) mylist = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,9 , 10 ] 有没有一些Python函数会给我N的项目,但会保持顺序? 例: randomList = getRandom(mylist,4) # randomList = [ 3 , 6 ,7 , 9 ] randomList = getRandom(mylist,4) # randomList = [ 1 , 2 , 4 , 8 ] 等等…

如何从Python中的元组列表中提取第n个元素?

我试图从元组列表中获得第n个元素。 我有这样的东西: elements = [(1,1,1),(2,3,7),(3,5,10)] 我只想提取每个元组的第二个元素到列表中: seconds = [1, 3, 5] 我知道这可以用for循环来完成,但是我想知道是否有另一种方法,因为我有成千上万的元组。

什么是Haskell的stream融合

什么是Haskell的Stream Fusion,我该如何使用它?

转换2D numpy数组列表的列表

我使用外部模块( libsvm ),它不支持numpy数组,只有元组,列表和字典。 但我的数据是在一个2D numpy数组。 我怎样才能转换pythonic的方式,又名无循环。 >>> import numpy >>> array = numpy.ones((2,4)) >>> data_list = list(array) >>> data_list [array([ 1., 1., 1., 1.]), array([ 1., 1., 1., 1.])] >>> type(data_list[0]) <type 'numpy.ndarray'> # <= what I don't want # non pythonic way using for loop >>> newdata=list() >>> for line in data_list: … line […]

如何在Python中初始化空列表的字典?

我试图以编程方式创build一个列表字典是不能让我个别地址字典键。 每当我创build列表字典并尝试附加到一个键,所有这些都被更新。 这是一个非常简单的testing用例: data = {} data = data.fromkeys(range(2),[]) data[1].append('hello') print data 实际结果: {0: ['hello'], 1: ['hello']} 预期结果: {0: [], 1: ['hello']} 这是有用的 data = {0:[],1:[]} data[1].append('hello') print data 实际和预期结果: {0: [], 1: ['hello']} 为什么fromkeys方法不能按预期工作?

以单线forms获取Stream / List的最后一个元素

如何获得下面的代码中的stream或列表的最后一个元素? where data.careas是一个List<CArea> : CArea first = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal).findFirst().get(); CArea last = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal).collect(Collectors.toList()).; //how to? 正如你所看到的第一个元素,用一个特定的filter ,并不难。 然而,让单线的最后一个元素是一个真正的痛苦: 看来我无法直接从Stream获取它。 (这只对有限的stream才有意义) 也似乎你不能从List接口得到first()和last()这样的东西,这真的很痛苦。 我没有看到在List接口中没有提供first()和last()方法的任何参数,因为那里的元素是有序的,而且大小是已知的。 但按照原来的答案:如何获得有限的Stream的最后一个元素? 就个人而言,这是我能得到的最接近的: int lastIndex = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal) .mapToInt(c -> data.careas.indexOf(c)).max().getAsInt(); CArea last = data.careas.get(lastIndex); 但是,它确实涉及到在每个元素上使用indexOf ,这很可能不是您通常想要的,因为它可能会影响性能。

QVector与QList

我有一个整数列表,我需要迭代,但一个数组是不够的。 向量和列表之间有什么区别,在selecttypes之前有什么我需要知道的? 只是要清楚,我已经阅读了QT文档,但这是我所知道的程度: QList,QLinkedList和QVector提供了类似的function。 这里有一个概述: 对于大多数目的,QList是正确的类。 它的基于索引的API比QLinkedList的基于迭代器的API更方便,并且由于它将项目存储在内存中的方式通常比QVector更快。 它也扩展到更less的代码在您的可执行文件。 如果你需要一个真正的链表,保证在列表中间有恒定的时间插入,迭代器可以保证项目而不是索引,可以使用QLinkedList。 如果你想要项目占用相邻的内存位置,使用QVector。

一个class轮:从列表中创build索引作为关键字的字典

我想从给定的列表中创build一个字典, 只需一行 。 字典的键将是索引,值将是列表的元素。 像这样的东西: a = [51,27,13,56] #given list d = one-line-statement #one line statement to create dictionary print(d) 输出: {0:51, 1:27, 2:13, 3:56} 对于我为什么要一行,我没有任何具体的要求。 我只是在探索python,并想知道这是否可能。

和{} vs list()和dict(),哪个更好?

我知道他们本质上是一样的东西,但是在风格方面,哪个更好(更Pythonic)用来创build一个空的列表或字典?

为什么我不能在python中使用列表作为字典键?

我有点困惑什么可以/不能用作python字典的关键。 dicked = {} dicked[None] = 'foo' # None ok dicked[(1,3)] = 'baz' # tuple ok import sys dicked[sys] = 'bar' # wow, even a module is ok ! dicked[(1,[3])] = 'qux' # oops, not allowed 所以一个元组是一个不可变的types,但如果我隐藏一个列表里面,那么它不能成为一个键..我不能像在一个模块内轻松隐藏列表? 我有一个模糊的想法,认为关键必须是“可排除的”,但我只是承认我对技术细节的无知。 我不知道这里发生了什么事。 如果你试图使用列表作为关键字,将散列称为内存位置,会出现什么问题?