簡體   English   中英

Python | 從2D數組中提取元素

[英]Python | extracting elements from 2D array

由於我是python的新手,我什至不知道該如何表達我的問題。 我要完成的工作的基本概念是能夠在2D數組中搜索某些內容並檢索正確的值以及與該值關聯的值(對不起,我的解釋不好)

例如

array=[[1,a,b],[2,x,d],[3,c,f]]

如果用戶要查找2 ,我希望程序檢索[2,x,d]並在可能的情況下將其放入常規(1D)數組中。 同樣,如果用戶搜索3 ,則程序應檢索[3,c,f]

在此先感謝您(如果可能,我需要一個不涉及numpy的解決方案)

也許是這樣的嗎?

def search(arr2d, value):
     for row in arr2d:
         if row[0] == value:
             return row

您可以執行一個簡單的for循環,並使用內置的in語句:

def retrieve_sub_array(element):
 for sub_array in array:
  if element in sub_array:
   return sub_array

嘗試類似的東西:

def find(value, array):
    for l in array:
        if l[0]==value:
            return l

或者,如果您想了解更多信息:

array[list(zip(*array))[0].index(value)]

如果適合您的問題,可以使用字典:

>>> dict={1:['a','b'],2:['x','d'],3:['c','f']}
>>> dict[2]
['x', 'd']

然后,在每個列表中線性搜索正確的索引會更有效。

暫無
暫無

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

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