关于python:如何从负值元组列表中打印绝对值?

How to print absolute value from list of negative valued tuples?

本问题已经有最佳答案,请猛点这里访问。

我有一个列表,上面有带负值的元组,比如说

1
vect=[(-x*3,-y*2) for x in [2,3,4] for y in [1,5,6]]

我想把它的绝对值打印出来

1
[(6, 2), (6, 10), (6, 12), (9, 2), (9, 10), (9, 12), (12, 2), (12, 10), (12, 12)]

但我试图得到一个输出,但得到了一个错误

TypeError: bad operand type for abs(): 'tuple'

所以我需要一个关于这个问题的帮助或建议。


使用简单的列表理解:

1
2
3
[(abs(i[0]), abs(i[1])) for i in vect]

# [(6, 2), (6, 10), (6, 12), (9, 2), (9, 10), (9, 12), (12, 2), (12, 10), (12, 12)]

使用map

前任:

1
2
vect=[(-x*3,-y*2) for x in [2,3,4] for y in [1,5,6]]
print([map(abs, i) for i in vect])     #Python3 --> print([list(map(abs, i)) for i in vect])

输出:

1
[[6, 2], [6, 10], [6, 12], [9, 2], [9, 10], [9, 12], [12, 2], [12, 10], [12, 12]]