【问题标题】:Conditional access of array elements数组元素的条件访问
【发布时间】:2018-10-23 22:35:43
【问题描述】:

我有一个数据向量data = [x for x in range(0,999)] 我想做的是,根据给定的value 访问data 中的元素,例如如果value=10 访问data 的第0 个索引,如果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 声明。有什么有效的方法吗?

【问题讨论】:

  • 您可以查看there,可能对您有所帮助.. :)

标签: python arrays function if-statement


【解决方案1】:

一种方法是将value 划分为10,然后从结果中减去1

return data[value//10 - 1]

【讨论】:

    【解决方案2】:

    你可以用字典来解决你的问题。

    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.
    

    【讨论】:

    • 但是我的数组 [10,20,30,.....] 真的很大。无法手动将每个值分配给字典
    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    相关资源
    最近更新 更多