条件访问数组元素

时间:2018-05-14 09:46:44

标签: python arrays function if-statement

我有一个数据向量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语句。有没有有效的方法呢?

2 个答案:

答案 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.