将列表中的元组转换为独立的元组

时间:2020-02-16 18:44:38

标签: python list opencv tuples

我目前有一个名为TrackedPoints的列表,其中包含元组,我可以在调试器中以元组的形式查看要存储在其中的值

TrackedPoints:[(350,350),(543,345)]

我目前正在使用此代码提取我想要的元组

StartLineX = [TrackedPoints[0] for x in TrackedPoints]

这会将StartLineX设置为[(350,350)]

如何将StartLineX转换为元组?我使用过tuple()函数,但它会不断返回这样的数据,这会在我的应用程序中引发异常:

(((350,350),)

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

import numpy as np HANDLED_FUNCTIONS = {} class NpContainer: def __init__(self, val): self.val = val def __array__(self): return np.array(self.val) def __array_function__(self, func, types, args, kwargs): if func not in HANDLED_FUNCTIONS: raise NotImplementedError() return HANDLED_FUNCTIONS[func](*args, **kwargs) def __array_ufunc__(self, ufunc, method, *args, **kwargs): if ufunc not in HANDLED_FUNCTIONS: raise NotImplementedError() return HANDLED_FUNCTIONS[ufunc](*args, **kwargs) def implements(np_function): def decorator(func): HANDLED_FUNCTIONS[np_function] = func return func return decorator @implements(np.add) def sum(a, **kwargs): return 'Sum Val: {}'.format(np.sum(a.val, **kwargs)) @implements(np.log) def log(a, **kwargs): return 'Log Val: {}'.format(np.log(a.val, **kwargs)) if __name__ == "__main__": container1 = NpContainer(val=np.array([1., 2.])) log_result = np.log(container1) print(log_result) print(type(log_result)) sum_result = np.sum(container1) print(sum_result) print(type(sum_result)) :括号之间的部分称为 List Comprehension 。这将创建另一个列表。

您想要的是从列表中获取第一个元素: StartLineX = [TrackedPoints[0] for x in TrackedPoints]

如果StartLineX = TrackedPoints[0]列表为空,这将失败。

TrackedPoints
相关问题