令人困惑的标题,不知道如何制定自己。最后的例子可能会让人们更容易理解。
所以,我有一个数组A_Main1,其中每个元素是另一个数组,A_Elem0,A_Elem1 ...... A_ElemN
我想创建一个新数组,其中每个元素是A_Main1中每个数组A_ElemI的第一个元素
我以前见过这个代码但是不记得它是怎么做的。这是我的代码的一部分
latitudeInfo = [latitude1Info[], latitude2Info[]...latitudeNInfo[]]
#latitudeXInfo[0] = the actual latitude, latitudeXInfo[>0] are values in someway
#connected to the latitude. So the 0th element of latitudeXInfo is always the latitude
我想在latitudeInfo中创建一个包含所有纬度的新数组
possibleLatitudes = []
possibleLatitudes.append(latitudeInfo[i][0] for i in latitudeInfo)
认为possibleLatitudes会在latitudeInfo中附加i:th列表的第0个元素,但这似乎不起作用。
答案 0 :(得分:3)
您可以使用list-comprehension
遍历latitudeInfo
中的每个列表,并使用l[0]
从该列表中获取第一个元素。
possibleLatitudes = [l[0] for l in latitudeInfo]
请注意,您实际上在这里使用lists
,而不是 arrays
。对于学习Python的人来说,这是一种常见的误解 - 特别是来自其他语言。基本上,在Python中使用arrays
的唯一时间是使用numpy
模块。使用方括号[]
的所有其他内容通常为list
。
答案 1 :(得分:0)
您可以在python中使用map
,如下所示。 https://docs.python.org/3/library/functions.html#map。它类似于Javascript,Ruby或任何其他语言的地图。
lambda
是一个匿名函数,它返回指定的条件。
http://www.secnetix.de/olli/Python/lambda_functions.hawk
lats = list(map(lambda l: l[0], latitudeInfo))
示例强>
>>> k = [[1, 2], [3, 4], [5, 6]]
>>> list(map(lambda i: i[0], k))
[1, 3, 5]