from collections import deque
queue = deque([(1, 2), (5, 7), (3, 9)])
li = [[] for _ in range(2)]
for item in queue:
for i in range(2):
li[i].append(item[i])
print(li)
for idx, item in enumerate(li):
print('index = {}, get {}'.format(idx, item))
或者正如托比亚斯在下面的评论中所建议的那样(谢谢@Tobias\u k)
from collections import deque
queue = deque([(1, 2), (5, 7), (3, 9)])
li = [ list(item) for item in zip(*queue)]
print(li)
for idx, item in enumerate(li):
print('index = {}, get {}'.format(idx, item))
在这两种情况下,输出如下所示
[[1, 5, 3], [2, 7, 9]]
index = 0, get [1, 5, 3]
index = 1, get [2, 7, 9]
您可以执行以下操作:
或者正如托比亚斯在下面的评论中所建议的那样(谢谢@Tobias\u k)
在这两种情况下,输出如下所示
您可以将函数更改为使用如下列表:
在这种情况下,它应该更有效,如果您确定队列在
iterQue
调用之后没有改变,您可以返回一个生成器而不是列表,只需将[n[index] for n in que]
更改为(n[index] for n in que)
。你知道吗相关问题 更多 >
编程相关推荐