python - используйте оператор if, чтобы проверить, есть ли запись в списке - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть список списков с плавающей точкой, и я хочу проверить, есть ли пара значений (например, [2.0, 1.1]) в этом списке. Поэтому я написал простой код, чтобы проверить это. Насколько я понимаю, мой код должен всегда записывать массив результатов. Я думаю, что утверждение if сформулировано неверно или, по крайней мере, не выполняет то, что я намеревался сделать. Результирующий массив должен выглядеть следующим образом: [0, 1, 2]. Это похоже на «самопроверку».

import numpy as np
array_a = np.asarray([[2.0, 1.1], [3.3, 4.4], [2.5, 3.0]])
array_a_list = array_a.tolist()
result = np.zeros(np.size(array_a_list, axis=0))
for i in range(np.size(array_a_list, axis=0)):
    print(i)
    if array_a_list[i] in array_a_list: # Shouldn't this be always true? At least that's what I expect it to be.
        result[i] = array_a_list.index(i) # here I'm expecting to get the index back, where the entry is stored
test = array_a_list[i]

Таким образом, общая идея - проверить, есть ли запись в списке. Если это так, я хочу вернуть индекс, в котором хранится запись. В моем случае запись представляет собой массив с плавающей точкой, который выглядит следующим образом: [2.0, 1.1]. Идея возникла из этого вопроса.

1 Ответ

0 голосов
/ 08 февраля 2020

Понял. Я отредактировал строку результатов сейчас:

result[i] = array_a_list.index(array_a_list[i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...