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
的值?