Python 基于2个不同变量中的值从数组值创建列表

Python 基于2个不同变量中的值从数组值创建列表,python,Python,我有一个问题,我不知道如何表述,但我提供了一些解释。我已经生成了一个字符串列表,例如s=[“BB”、“BB”、“CD”、“BA”] s的每个成员都可以生成b=“b”或“C”或“D”或“A”中的任何一个,即仅一个值作为第一个变量,而b的值或b的单个值的任意组合作为变量A,例如A=[“b”,“A”,“D”或A=[“b”或A=[“b”,“C”]作为第二个值。i、 e它可以是不超过3个值的任意组合或单个值b=“b”或“C”或“D” 我有一个值的“numpy.ndarray”类数组。我希望根据a和b中的值

我有一个问题,我不知道如何表述,但我提供了一些解释。我已经生成了一个字符串列表,例如
s=[“BB”、“BB”、“CD”、“BA”]

s的每个成员都可以生成
b=“b”
“C”
“D”
“A”
中的任何一个,即仅一个值作为第一个变量,而b的值或
b
的单个值的任意组合作为变量
A
,例如
A=[“b”,“A”,“D”
A=[“b”
A=[“b”,“C”]
作为第二个值。i、 e它可以是不超过3个值的任意组合或单个值
b=“b”或
“C”或
“D”

我有一个值的“numpy.ndarray”类数组。我希望根据
a
b
中的值为给定变量赋值,例如
myvar
myvar2
。数组的长度为
s
。e、 g
[[1,1,0,1],[0,1,0,2],[0,0,0,3],[1,1,0,1]
数组中的每一列表示A、B、C、D,但不包括在数组中

步骤如下:

for each member of s i.e length of s:
    if the member generates value of b as B and value of a as B, A, C:
        check 2nd column in matrix, pick the value and add it to my_variable
        check columns 2, 1 and 3 representing B,A,C and add the values to my_variable
        output result for each member of s because each member of s will generate a and b
到目前为止我所做的:

s = ["BB", "BB", "CD", "BA"]
n = [[ 1, 1, 0, 1],[ 0, 1, 0, 2],[ 0, 0, 0, 3],[ 1, 1, 0, 1]]
a = ["B", "A", "D"]
b = "B"
myvar = []
myvar2 =[]
for x in s:
    for y in a:
        for i in n:
            if y == "A":
                myvar.append(i[0])
            elif y == "B":
                myvar.append(i[1])
            elif y == "C":
                myvar.append(i[2])
            elif y == "D":
                myvar.append(i[3])
print(myvar)
如何为
b
选择值并附加到
myvar2
中,然后分别为
s
中的每个项目合并
myvar
myvar2
?到目前为止,我得到的结果是错误的,因为我将
myvar
中的所有值作为一个值,而不是长度
s
。合并后的预期结果将是:

结果=[b的值,a的值]对于s的每个成员。e、 g val代表
a=[[1,0,1],[1,0,0],[0,1,1],[0,1,1]]
val代表b=[1]

最终结果=
[[1,1,0,1],[1,1,0,0],[1,0,1,1],[1,0,1,1]
。长度与
s
相同


谢谢

您能举例说明输出应该是什么吗?你的问题很让人困惑。我应该把这个例子作为评论还是添加到我的原始帖子中?添加到原始帖子中post@James. 我已经做到了。我发现自己使用了多个if,else,elif语句,它似乎不是python式的,或者可能是我错了,但我不知道如何绕过它。我仍然不知道你的问题是什么。您正在迭代
s
,但代码中的
x
不会发生任何变化。应该如何使用
s
的值?