Python:从数组中选取某个元素

时间:2015-02-03 04:16:10

标签: python arrays

我正在使用Excel(csv)文件。我有一个数组如下:
[['a','b','c'], ['aber', 'jsfn', 'ff', 'fsf', '003'], [...] ...],其中数组的每个元素大小不同。如我们所见,第一个元素的大小是3,第二个元素的大小是5.在这种情况下,是否可以从数组中获取第一个元素的第一个元素?所以如果我想从['a','b','c']中选择'a',我能够吗?

那么,如果a = [['a','b','c'], ['aber', 'jsfn', 'ff', 'fsf', '003'], [...] ...],是否可以执行b = a[0,0]或......之类的操作?注意:我在for循环中做了所有这些。

2 个答案:

答案 0 :(得分:4)

您可以使用a[0]获取主列表的第一个元素。然后,您可以使用额外的[0]来获取返回值的第一个元素,例如:

b = a[0][0]

最终,上述内容只是一个更为详细的方法的缩写:

first_list = a[0]
first_element_of_first_list = first_list[0]

现在,您提到您正在循环中执行所有这些操作,因此这是获取主列表中每个列表的第一个元素的示例:

for i in range(len(a)):
    print(a[i][0])

当用户“PM 2Ring”指出时,上述方法并不是实现for循环的最pythonic方式。由于索引i未用于更改原始列表,因此我们可以使用:

for row in a:
    print row[0]

获得与上面相同的结果,但这次我们不需要乱用计算和使用索引。

答案 1 :(得分:0)

假设我们有这个列表列表:

alist = [['a','b','c'], ['aber', 'jsfn', 'ff', 'fsf', '003'], [1, 2, 3]]

如果要检索alist中每个列表的第一个元素,则:

>>> [x[0] for x in alist]
['a', 'aber', 1]

替代方案:检索最后的元素

在python中,列表的最后一个元素是数字-1。所以:

>>> [x[-1] for x in alist]
['c', '003', 3]