我有一个元组列表:
Items = [(4, 2), (1, 1), (2, 4), (8, 6), (11, 4), (10, 2), (7, 3), (6, 1)]
我想在
for
循环中得到它:NewItems = [[(4, 2), (1, 1)],
[(2, 4), (8, 6)],
[(11, 4), (10, 2)],
[(7, 3), (6, 1)]]
我这样做了:
NewItems = []
while len(Items) > 0:
NewItems.append([Items[0], Items[1]])
del Items[0:2]
print NewItems
我认为这不是最好的方法,因为我正在删除
Items
变量。然后我尝试这样做:
newList = iter(Items)
NewItems = []
for a, b in zip(newList, newList):
NewItems.append([a, b])
print NewItems
但那是合并元组。
有没有更好的解决方案可以做同样的事情?
最佳答案
您可以使用列表理解,将项目成对压缩。
Items = [(4, 2), (1, 1), (2, 4), (8, 6), (11, 4), (10, 2), (7, 3), (6, 1)]
New_Items = [list(pair) for pair in zip(Items[::2], Items[1::2])]
>>> New_Items
[[(4, 2), (1, 1)], [(2, 4), (8, 6)], [(11, 4), (10, 2)], [(7, 3), (6, 1)]]
关于python - 元组列表中的 2 个项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35448907/