【问题标题】:Evaluate a number from a dataset评估数据集中的数字
【发布时间】:2014-11-14 02:34:08
【问题描述】:

我正在制作一个程序,它将评估向量/列表中的每个条目是否在特定值内。我不知道该怎么做。我的想法是这样的:

我有一组如下所示的数据:

data = (0,1) , (0,2), (1,1), (1,2) #where data[0] = (0,1) (or data[0][0] = 0 and data[0][1] = 1), data[1] = (0,2) and so on.

此数据不可访问,无法编辑。

所以我想评估第一个值是否在一个范围内,以及第二个。像这样:

if data[first number >= 10][second number < 1]:
     do something

【问题讨论】:

    标签: python


    【解决方案1】:

    我会如何使用一个小表达式list comprehensions

    >>> data = (0,1) , (0,2), (1,1), (1,2)
    >>> if [x for x in data if x[0] >= 1 and x[1] < 3 ]:
    ...  print("ok")
    ... 
    ok
    

    【讨论】:

      【解决方案2】:

      Tuples in python are immutable,这就是你不能编辑它们的原因。并且值是零索引的,因此第一项中元组中的第一个值是data[0][0],第二个是data[0][0]

      data = [(0,1) , (0,2), (1,1), (1,2)]
      print data[0][3]
      
      if data[0][0]<10 and data[0][4]<=1:
          print "write code.."
      

      【讨论】:

        【解决方案3】:

        不确定我是否理解正确,但您似乎有这样的情况:

        data = [(0,1), (0,2), (1,1), (1,2)]
        
        for val_1, val_2 in data:
            if val_1 >= 10 and val_2 < 1:
                print('Do sometning')
        

        如果第一个和第二个值满足你的条件,你就做点什么。

        或者,也许您想对二维数据结构的索引(如二维数据结构的行和列)执行 if 语句,而不是您可以执行以下操作:

        for row, tuple_ in enumerate(data):
            for col, value in  enumerate(tuple_):
                print(row, col, value)
                if row >=10 and col < 1:
                    print('Do sometning')
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-02-07
          • 2014-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-14
          • 2015-10-26
          • 2019-07-18
          相关资源
          最近更新 更多