关于python:评估数据集中的数字

Evaluate a number from a dataset

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

我有一组这样的数据:

1
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.

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

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

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


一个小的表达是如何使用列表理解的?

1
2
3
4
5
>>> 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


python中的元组是不可变的,所以不能编辑它们。并且值是零索引的,所以第一项中的元组的第一个值是data[0][0],第二个值是data[0][0]

1
2
3
4
5
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.."


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

1
2
3
4
5
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语句,而不希望执行以下操作:

1
2
3
4
5
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')