从python中的多维获取切片

时间:2014-03-18 05:57:03

标签: python

LISTA=[["001", "TOM", "13800000001", "AAAA"],["002", "Jerry", "13800000002", "BBBB"]]
name=[]
for ID,NAME,HSNUMBER,ADDRESS in LISTA:
    name.append(NAME)

>>> name
['TOM', 'Jerry']

我觉得在LISTA中获取所有NAME并不是一种简单的方法,如何修改它?

2 个答案:

答案 0 :(得分:1)

您知道名称将是列表中的第二个元素,因此您可以使用列表推导,就像这样

names = [item[1] for item in LISTA]
print names
# ['TOM', 'Jerry']

答案 1 :(得分:0)

我认为这是非常简单的方法。

>>> LISTA=[["001", "TOM", "13800000001", "AAAA"],["002", "Jerry", "13800000002", "BBBB"]]
>>> name = zip(*LISTA)[1]
('TOM', 'Jerry')

更新

这里*的含义是什么?

一般

x = func(*[a, b, c])

相当于

x = func(a, b, c)

所以这里

#zip(*LISTA)
zip(*[["001", "TOM", "13800000001", "AAAA"],["002", "Jerry", "13800000002", "BBBB"]])

相当于

zip(["001", "TOM", "13800000001", "AAAA"],["002", "Jerry", "13800000002", "BBBB"])