相关疑难解决方法(0)

如何将列表拆分为大小均匀的块?

我有一个任意长度的列表,我需要将它分成相同大小的块并对其进行操作.有一些明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列表填满时,将它添加到第一个列表并清空下一轮数据的第二个列表,但这可能非常昂贵.

我想知道是否有人对任何长度的列表都有一个很好的解决方案,例如使用生成器.

我一直在寻找有用的东西,itertools但我找不到任何明显有用的东西.但是可能会错过它.

相关问题:在块中迭代列表的最"pythonic"方法是什么?

python split list chunks

2068
推荐指数
40
解决办法
84万
查看次数

Python range()和zip()对象类型

我理解函数如何在for循环中使用range()zip()可以使用.但是我希望range()输出一个列表 - 就像seq在unix shell中一样.如果我运行以下代码:

a=range(10)
print(a)
Run Code Online (Sandbox Code Playgroud)

输出是range(10),表明它不是列表而是不同类型的对象.zip()打印时有类似的行为,输出类似的东西

<zip object at "hexadecimal number">
Run Code Online (Sandbox Code Playgroud)

所以我的问题是它们是什么,有什么优势使它们成为现实,如何在没有循环的情况下将它们的输出发送到列表?

python iterator list range python-3.x

48
推荐指数
3
解决办法
8万
查看次数

如何在Python中展平嵌套元组列表?

我有一个看起来像这样的元组列表:

[('a', 'b'), ('c', 'd'), (('e', 'f'), ('h', 'i'))]
Run Code Online (Sandbox Code Playgroud)

我想把它变成这个:

[('a', 'b'), ('c', 'd'), ('e', 'f'), ('h', 'i')]
Run Code Online (Sandbox Code Playgroud)

最恐怖的方式是什么?

python list-comprehension flatten

4
推荐指数
2
解决办法
1244
查看次数

将列表转换为元组python

我正在创建一个python程序.

我有一个清单:

[3, 28, 25, 126, 25, 127]

如何将其转换为元组列表,以便列表变为:

[(3,28),(25,126),(25,127)]

它加入了2个元素并构成了一个元组.

python list

2
推荐指数
2
解决办法
576
查看次数

如何有效地将2d numpy数组转换为元组的1d numpy数组?

我在使用迭代器从列表到元组时发现了这个问题,但是我正在处理大量数据。

我发现这个问题是从元组到列表的,实际上有很多问题从元组列表到数组,但是我还没有找到如何向另一个方向发展的问题...

我有:

np.arrray([[   0    1]
           [   1    1]
           [   2    1]
           ..., 
           [1004    3]
           [1005    1]
           [1006    1]])
Run Code Online (Sandbox Code Playgroud)

我想要:

np.arrray([(   0    1)
           (   1    1)
           (   2    1)
           ..., 
           (1004    3)
           (1005    1)
           (1006    1)])
Run Code Online (Sandbox Code Playgroud)

我不一定需要一堆元组,但是我想高效地做到这一点。

python arrays numpy list

2
推荐指数
1
解决办法
1040
查看次数

获取字典中匹配键的值

我有两个OrderedDict词典,我想检索两个词典中匹配键的值:

>>> from collections import OrderedDict
>>> d1 = OrderedDict()
>>> d2 = OrderedDict()

>>> d1["A"] = 2
>>> d1["B"] = 3
>>> d1["C"] = 2

>>> d2["D"] = 90
>>> d2["B"] = 11
>>> d2["C"] = 25

>>> # search both dicts and output values where key matches

(3, 11)
(2, 25)
Run Code Online (Sandbox Code Playgroud)

python dictionary

1
推荐指数
1
解决办法
201
查看次数