Python 使用if-else指定索引
我有一个这样的代码:Python 使用if-else指定索引,python,arrays,list,slice,Python,Arrays,List,Slice,我有一个这样的代码: if self.modality == "A": idx = 0 elif self.modality == "B": idx = 1 elif self.modality == "C": idx = 2 elif self.modality == "D": idx = 3 elif self.modality == "all": idx = 0:5 my_value = get_value(my_array[idx])
if self.modality == "A":
idx = 0
elif self.modality == "B":
idx = 1
elif self.modality == "C":
idx = 2
elif self.modality == "D":
idx = 3
elif self.modality == "all":
idx = 0:5
my_value = get_value(my_array[idx])
我的问题是对于self.model的不同值,我希望从我的_数组中获得特定的不同索引。当self.modality==all时,我希望指定值的具体范围
如何实现这一点?您的代码就快到了,您可以通过索引引用列表,例如:my_array[idx] 所以
在Python中,从一组值映射到另一组值的常见方法是使用dict。还要注意,dict值可以是任何Python实体,例如表示低、高范围的元组,甚至是要实例化的类 因此,如果您想将一些文本字符串映射到某些范围,您可以编写如下代码
low,high = {
"A":(0,1), "B":(1,2), "C":(2,3), "D":(3,4), "all":(0,5)
} [self.modality]
my_value = get_value( my_array[low:high] )
low,high = {
"A":(0,1), "B":(1,2), "C":(2,3), "D":(3,4), "all":(0,5)
} [self.modality]
my_value = get_value( my_array[low:high] )