我有一个元组数组,希望将其中的元素拆分开来,并将元组两边分别放入不同的数组中。
我是Python的新手,不知道这个问题是否有明显的解决方案。
arr = [(1,4), (2,4)]
'''some code'''
arr1 = [1,2]
arr2 = [4,4]
使用zip和扩展操作符*非常不错:
arr = [(1, 4), (2, 4)]
a = [*zip(*arr)]
b = [list(i) for i in zip(*arr)]
print(a)
# [(1, 2), (4, 4)]
print(b)
# [[1, 2], [4, 4]]
特别是如果您不需要结果作为列表
其中一种方法是使用一对列表推导式
arr1 = [t[0] for t in arr]
arr2 = [t[1] for t in arr]
arr1 = []
arr2 = []
for first, second in arr:
arr1.append(first)
arr2.append(second)
像这样迭代元组数组非常方便:
arr1 = []
arr2 = []
for x, y in arr:
arr1.append(x)
arr2.append(y)
arr
元素都是一个包含两个元素的元组,因此这将元组解构为变量x
和y
。arr1 = [x[0] for x in arr]
arr2 = [x[1] for x in arr]
zip
。arr = [(1,4), (2,4)]
res = list(zip(*arr)) # res = [(1, 2), (4, 4)]
arr1 = res[0] # arr1 = (1, 2)
arr2 = res[1] # arr2 = (4,4)