我有一个问题我不知道如何制定这个但我提供了一些解释。我已经生成了一个字符串列表,例如s = ["BB", "BB", "CD", "BA"]
。
s的每个成员都可以生成b = "B"
或"C"
或"D"
或"A"
中的任何一个,即只有一个值作为第一个变量和b的值的任意组合b
的单个值作为变量a
,例如a = ["B", "A", "D"]
或a = ["B"]
或a = ["B", "C"]
作为第二个值。即它可以是不超过3的值或单个值的任何组合。 b = "B"
或"C"
或"D"
。
我有一系列课程&nbspy.ndarray'价值观我希望将值分配给给定变量,例如myvar
和myvar2
,具体取决于a
和b
中的值。数组的长度为s
。例如[[ 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
,然后为myvar
中的每个项目分别合并myvar2
和s
?到目前为止我得到的结果是错误的,因为我将myvar
中的所有值都作为一个而不是长度为s
。合并后我想要的结果是:
result = [b的值,a的值]。例如,a = [[1, 0, 1], [1, 0, 0], [0, 1, 1], [0, 1, 1]]
val的val为b = [1]。
最终结果= [[1, 1, 0, 1], [1, 1, 0, 0], [1, 0, 1, 1], [1, 0, 1, 1]]
。与s
相同的长度。
谢谢