2024-04-26 18:20:06 发布
网友
使用列表理解,我创建了一个元组列表
temp = [(1, 0, 1, 0, 2), (1, 0, 1, 0, 5), (1, 0, 2, 0, 2), (1, 0, 2, 0, 5)]
我也可以创建一个列表列表,如果这更容易。你知道吗
不管怎样,我现在想从数据中得到一个数组,或者一个2D列表。我可以使用切片轻松访问上面每个元组中第一个元素的值,比如
first_elements = temp[:,0]
将numpy用于该类型的索引:
import numpy as np temp = [(1, 0, 1, 0, 2), (1, 0, 1, 0, 5), (1, 0, 2, 0, 2), (1, 0, 2, 0, 5)] a = np.array(temp) a[:, 0]
退货
array([1, 1, 1, 1])
注意:您的所有内部列表必须具有相同的大小才能工作。否则,数组构造函数将返回一个Python列表数组。你知道吗
您可以使用^{},它允许您从现有的数据结构中获取不同的组合
例如,要获取每个tuple的第一个元素,请使用:
tuple
>>> from operator import itemgetter >>> temp = [(1, 0, 1, 0, 2), (1, 0, 1, 0, 5), (1, 0, 2, 0, 2), (1, 0, 2, 0, 5)] >>> list(map(itemgetter(0),temp)) >>> [1, 1, 1, 1]
获取第二个元素
>>> list(map(itemgetter(1),temp)) >>> [0, 0, 0, 0]
取第一和第二
>>> list(map(itemgetter(0,1),temp)) >>> [(1, 0), (1, 0), (1, 0), (1, 0)]
您可以使用zip和next来获得您想要的:
zip
next
temp = [(1, 0, 1, 0, 2), (1, 0, 1, 0, 5), (1, 0, 2, 0, 2), (1, 0, 2, 0, 5)] print(next(zip(*temp)))
退货:
(1, 1, 1, 1)
将numpy用于该类型的索引:
退货
注意:您的所有内部列表必须具有相同的大小才能工作。否则,数组构造函数将返回一个Python列表数组。你知道吗
您可以使用^{} ,它允许您从现有的数据结构中获取不同的组合
例如,要获取每个
tuple
的第一个元素,请使用:获取第二个元素
取第一和第二
您可以使用
zip
和next
来获得您想要的:退货:
相关问题 更多 >
编程相关推荐