Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 同时访问列表中所有元素的属性_Python_Pandas_List - Fatal编程技术网

Python 同时访问列表中所有元素的属性

Python 同时访问列表中所有元素的属性,python,pandas,list,Python,Pandas,List,在Python中,我有一个位置列表list\u,其中元素是数据帧,让我们称它们为d(这个问题也适用于其他类的其他列表)。 如果我想提取第一个数据帧的属性,比如说Latitude,我可以像预期的那样,列出位置[0]。Latitude 现在问题来了:我想同时提取该列表中所有元素的纬度值,即不在列表上循环。我该怎么做? list\u of_locations[:]。纬度不起作用,因为type(list\u of_locations[:])返回list。 有没有一种简单的方法可以一次访问所有列表元素,或

在Python中,我有一个位置列表
list\u,其中元素是数据帧,让我们称它们为
d
(这个问题也适用于其他类的其他列表)。
如果我想提取第一个数据帧的属性,比如说
Latitude
,我可以像预期的那样,列出位置[0]。Latitude

现在问题来了:我想同时提取该列表中所有元素的
纬度
值,即不在列表上循环。我该怎么做?
list\u of_locations[:]。纬度
不起作用,因为
type(list\u of_locations[:])
返回
list

有没有一种简单的方法可以一次访问所有列表元素,或者我必须求助于for循环?顺便问一下:为什么
列出位置[0]
返回元素而不是长度为1的列表

编辑:通过使用for循环和列表理解(作为标记答案的替代方法),可以达到所需的行为:


从技术上讲,您应该在位置的列表上循环以从其元素中检索数据。谢天谢地,在Python中有许多紧凑的方法可以在iterables上循环。解决您主要问题的一行代码应该是
列表(地图(lambda d:d.纬度,位置列表))
。有关函数映射的更多参考


关于你的最后一个问题,这是Python做出的设计决策,可能是受到数组在C中工作方式的启发。就我个人而言,我不希望在索引深度为1的列表时收到列表,但这可能是因为我在学习如何编码时有C和Python方面的背景。

没有循环列表。为什么?顺便问一下:为什么\u位置列表[0]返回元素而不是长度为1的列表?这是一个有点模棱两可的问题:您是希望它返回一个包含单个元素的列表,还是在询问当前行为背后的基本原理?您不能这样做。你必须以这样或那样的方式循环,或者明确地使用
for
循环,或者使用某种理解结构,也就是引擎盖下的循环,或者类似于
map
的东西,也就是循环。甚至是递归,但同样,这只是循环的另一种方式。“顺便问一下:
list\u of_locations[0]
为什么返回元素而不是长度为1的列表?”因为列表就是这样的,是通过
int
索引访问的异构对象序列。i、 e.
list\u of_locations[0]
是列表中的第一个对象,
list\u of_locations[1]
是列表中的第二个对象,为什么您希望它返回长度为1的列表?那有什么用呢?
latitudes=[list_of_locations[i].Latitude for i in range(0,len(list_of_locations))]