用于翻转列表/元组的pythonic方式

时间:2017-04-16 12:28:30

标签: python arrays list tuples

“翻转”列表/元组的最蟒蛇方式是什么。

我的意思是翻转是:如果你有一个元组元组,你可以使用语法像元组[a] [b],“翻转”它,这样你就可以做元组[b] [a]获得相同的项目。

一个例子:

t = [
    [1, 2, 3]
    [4, 5, 6]
]

flipped(t) = [
    [1, 4]
    [2, 5]
    [3, 6]
]

2 个答案:

答案 0 :(得分:5)

zip 就是这样;使用zip,您可以逐列获取元素(如果您有矩阵),它将翻转/转置它:

config.tx_realurl_enable = 1
config.simulateStaticDocuments = 0
config.baseURL = http://example.com/

答案 1 :(得分:2)

它被称为转置。

>>> t = [
...     [1, 2, 3],
...     [4, 5, 6]
... ]
>>> zip(*t)
[(1, 4), (2, 5), (3, 6)]
>>> map(list, zip(*t))
[[1, 4], [2, 5], [3, 6]]

如果t是NumPy array,则他们会有一个返回转置的属性T

>>> import numpy as np
>>> np.array(t)
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.array(t).T
array([[1, 4],
       [2, 5],
       [3, 6]])