我正在使用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循环中做了所有这些。
答案 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]