簡體   English   中英

根據位置將嵌套列表中的元素提取到單獨的列表中

[英]Extract elements in a nested list into separate lists according to the positions

我有一個嵌套列表說:

[[1,2],
 [3,4],
 [5,6]]

如何從該列表中提取一列( [1,3,5][2,4,6]而不將其轉換為pandas DataFramenp array ,例如:

a = [[1,2],[3,4],[5,6]]
list(pd.DataFrame(a)[0])

或者

a = [[1,2],[3,4],[5,6]]
list(np.array(a)[:,0])

兩者都產生[1,3,5]

像這樣

col = 0
[item[col] for item in a]

使用zip將您的列表解壓縮為:

a = [[1,2],[3,4],[5,6]]

list1, list2 = zip(*a)

zip返回一個元組迭代器,然后將其解包到list1list2中,如果您想要列表, map list然后解包:

list1, list2 = map(list,zip(*a))
print(list1)
[1, 3, 5]
print(list2)
[2, 4, 6]

zip聚合來自輸入迭代的元素。 通過使用zip(*a)解包,我們使每個內部列表在zip中成為一個單獨的可迭代對象,然后根據它們的位置“組合”每個內部列表中的元素。

你可以試試map function

y=list(map(lambda x:x[0],a))

如果您想要one-line list comprehension ,這可能會有所幫助:

a = [[1,2],[3,4],[5,6]]

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

注意: len(a[0])是我正在使用的,因此這僅適用inner-lists of equal lengths

我是 python 的初學者,請你試試這個。

a = [[1,2],[3,4],[5,6]]
for i in a:
    print(i[0])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM