我有一个数据向量data = [x for x in range(0,999)]
我想要做的是,根据给定的data
访问value
中的元素,例如,如果value=10
访问第0个索引data
以及如果value=20
访问data
的第一个索引。它是这样的:
def get_data(value):
if value ==10:
return data[0]
elif value == 20:
return data[1]
elif value ==30:
return data[2]
但实际上,我将拥有非常大的数据,而且我无法继续发表elif
语句。有没有有效的方法呢?
答案 0 :(得分:1)
一种方法可能是将value
划分为10
,然后从结果中减去1
。
return data[value//10 - 1]
答案 1 :(得分:1)
您可以使用字典来解决问题。
def get_data(value):
return {
10: data[0],
20: data[1],
30: data[2]
}.get(value, data[3]) #data[3] will be the default value.