Python:如何从数组中提取值的第一个实例并将其存储在列表中?

时间:2019-08-27 15:49:19

标签: python arrays python-3.x loops iteration

我是python的新手。我有一个要在数组中检查的值列表,并将第一个实例存储在新的单个数组中。

我的列表如下:

list = ['1','2','A','B']

我的数组看起来像:

  col1 col2 col3 col4
0  1    B    2    A
1  9    A    2    B
2  7    k    1    A  
3  I    2    1    A
4  9    3    B    3
5  W    Y    5    A

我想使用一个for循环来遍历数组矩阵,并在列表中找到值的第一个实例,并将它们存储在新数组中。

new_array = ['1','A','2','B','A']

我该怎么做?

如果尝试过类似的操作:

for i in range(0,3):
    if  array[i] in ('1','2','A','B'):
        new_array = i

但这不起作用。

这是我的实际代码:

import pandas as pd

df = pd.DataFrame('stat1':'1','stat2':'b','stat3':'2','stat4':'v',
        'stat5':'3','stat6':'v','stat7':'2','stat8':'1',
        'stat9':'c','stat10':'2','stat11':'2','stat12':'c',
        'stat13':'1','stat14':'x','stat15':'1','stat16':'c',
        'stat17':'c','stat18':'2','stat19':'2','stat20':'2',
        'stat21':'3','stat22':'1','stat23':'c','stat24':'1',},index=df.index)

stat =pd.as_matrix(columns=df.columns[:]) 


new_array = []

for n in range(0,23):    
        if stat[n] in ("3","4","5","6","7","8","9","A", "B", "E", "Q", "R", "Y",
                "L", "I", "J", "W", "AA", "AC", "AD") and new_array == []:
            new_array = n

2 个答案:

答案 0 :(得分:0)

一旦找到元素,您就可以中断循环

res = []
for line in matrix:
    for ele in line:
        if ele in ('1','2','A','B'):
            res.append(ele)
            break

答案 1 :(得分:0)

这可以做到:

onClosed

您可以简单地用实际值替换mat和list。