List как найти элемент python

Время чтения 3 мин.

Существует несколько способов проверки наличия элемента в списке в Python:

  1. Использование метода index() для поиска индекса элемента в списке.
  2. Использование оператора in для проверки наличия элемента в списке.
  3. Использование метода count() для подсчета количества вхождений элемента.
  4. Использование функции any().
  5. Функция filter() создает новый список элементов на основе условий.
  6. Применение цикла for.

Содержание

  1. Способ 1: Использование метода index()
  2. Способ 2: Использование «оператора in»
  3. Способ 3: Использование функции count()
  4. Синтаксис
  5. Пример
  6. Способ 4: использование понимания списка с any()
  7. Способ 5: Использование метода filter()
  8. Способ 6: Использование цикла for

Способ 1: Использование метода index()

Чтобы найти элемент в списке Python, вы можете использовать метод list index(). Список index() — это встроенный метод, который ищет элемент в списке и возвращает его индекс.

Если один и тот же элемент присутствует более одного раза, метод возвращает индекс первого вхождения элемента.

Индекс в Python начинается с 0, а не с 1. Таким образом, через индекс мы можем найти позицию элемента в списке.

streaming = [‘netflix’, ‘hulu’, ‘disney+’, ‘appletv+’]

index = streaming.index(‘disney+’)

print(‘The index of disney+ is:’, index)

Выход

The index of disney+ is: 2

Метод list.index() принимает единственный аргумент, элемент, и возвращает его позицию в списке.

Способ 2: Использование «оператора in»

Используйте оператор in, чтобы проверить, есть ли элемент в списке.

main_list = [11, 21, 19, 46]

if 19 in main_list:

  print(“Element is in the list”)

else:

  print(“Element is not in the list”)

Выход

Вы можете видеть, что элемент «19» находится в списке. Вот почему оператор in возвращает True.

Если вы проверите элемент «50», то оператор in вернет False и выполнит оператор else.

Способ 3: Использование функции count()

Метод list.count() возвращает количество вхождений данного элемента в списке.

Синтаксис

Метод count() принимает единственный элемент аргумента: элемент, который будет подсчитан.

Пример

main_list = [11, 21, 19, 46]

count = main_list.count(21)

if count > 0:

  print(“Element is in the list”)

else:

  print(“Element is not in the list”)

Выход

Мы подсчитываем элемент «21», используя список в этой функции example.count(), и если он больше 0, это означает, что элемент существует; в противном случае это не так.

Способ 4: использование понимания списка с any()

Any() — это встроенная функция Python, которая возвращает True, если какой-либо элемент в итерируемом объекте имеет значение True. В противном случае возвращается False.

main_list = [11, 21, 19, 46]

output = any(item in main_list for item in main_list if item == 22)

print(str(bool(output)))

Выход

Вы можете видеть, что в списке нет «22». Таким образом, нахождение «22» в списке вернет False функцией any(). Если функция any() возвращает True, элемент в списке существует.

Способ 5: Использование метода filter()

Метод filter() перебирает элементы списка, применяя функцию к каждому из них.

Функция filter() возвращает итератор, который перебирает элементы, когда функция возвращает значение True.

main_list = [11, 21, 19, 46]

filtered = filter(lambda element: element == 19, main_list)

print(list(filtered))

Выход

В этом примере мы используем функцию filter(), которая принимает функцию и перечисляет ее в качестве аргумента.

Мы использовали лямбда-функцию, чтобы проверить, совпадает ли входной элемент с любым элементом из списка, и если это так, он вернет итератор. Чтобы преобразовать итератор в список в Python, используйте функцию list().

Мы использовали функцию list() для преобразования итератора, возвращаемого функцией filter(), в список.

Способ 6: Использование цикла for

Вы можете узнать, находится ли элемент в списке, используя цикл for в Python.

main_list = [11, 21, 19, 46]

for i in main_list:

  if(i == 46):

    print(“Element Exists”)

Выход

В этом примере мы прошли список элемент за элементом, используя цикл for, и если элемент списка совпадает с входным элементом, он напечатает «Element exists».

На чтение 4 мин Просмотров 4.6к. Опубликовано 03.03.2023

Содержание

  1. Введение
  2. Поиск методом count
  3. Поиск при помощи цикла for
  4. Поиск с использованием оператора in
  5. В одну строку
  6. Поиск с помощью лямбда функции
  7. Поиск с помощью функции any()
  8. Заключение

Введение

В ходе статьи рассмотрим 5 способов поиска элемента в списке Python.

Поиск методом count

Метод count() возвращает вхождение указанного элемента в последовательность. Создадим список разных цветов, чтобы в нём производить поиск:

colors = ['black', 'yellow', 'grey', 'brown']

Зададим условие, что если в списке colors присутствует элемент ‘yellow’, то в консоль будет выведено сообщение, что элемент присутствует. Если же условие не сработало, то сработает else, и будет выведена надпись, что элемента отсутствует в списке:

colors = ['black', 'yellow', 'grey', 'brown']

if colors.count('yellow'):
    print('Элемент присутствует в списке!')
else:
    print('Элемент отсутствует в списке!')

# Вывод: Элемент присутствует в списке!

Поиск при помощи цикла for

Создадим цикл, в котором будем перебирать элементы из списка colors. Внутри цикла зададим условие, что если во время итерации color приняла значение ‘yellow’, то элемент присутствует:

colors = ['black', 'yellow', 'grey', 'brown']

for color in colors:
    if color == 'yellow':
         print('Элемент присутствует в списке!')

# Вывод: Элемент присутствует в списке!

Поиск с использованием оператора in

Оператор in предназначен для проверки наличия элемента в последовательности, и возвращает либо True, либо False.

Зададим условие, в котором если ‘yellow’ присутствует в списке, то выводится соответствующее сообщение:

colors = ['black', 'yellow', 'grey', 'brown']

if 'yellow' in colors:
    print('Элемент присутствует в списке!')
else:
    print('Элемент отсутствует в списке!')

# Вывод: Элемент присутствует в списке!

В одну строку

Также можно найти элемент в списке при помощи оператора in всего в одну строку:

colors = ['black', 'yellow', 'grey', 'brown']

print('Элемент присутствует в списке!') if 'yellow' in colors else print('Элемент отсутствует в списке!')

# Вывод: Элемент присутствует в списке!

Или можно ещё вот так:

colors = ['black', 'yellow', 'grey', 'brown']

if 'yellow' in colors: print('Элемент присутствует в списке!')

# Вывод: Элемент присутствует в списке!

Поиск с помощью лямбда функции

В переменную filtering будет сохранён итоговый результат. Обернём результат в список (list()), т.к. метода filter() возвращает объект filter. Отфильтруем все элементы списка, и оставим только искомый, если он конечно присутствует:

colors = ['black', 'yellow', 'grey', 'brown']

filtering = list(filter(lambda x: 'yellow' in x, colors))

Итак, если искомый элемент находился в списке, то он сохранился в переменную filtering. Создадим условие, что если переменная filtering не пустая, то выведем сообщение о присутствии элемента в списке. Иначе – отсутствии:

colors = ['black', 'yellow', 'grey', 'brown']

filtering = list(filter(lambda x: 'yellow' in x, colors))

if filtering:
    print('Элемент присутствует в списке!')
else:
    print('Элемент отсутствует в списке!')

# Вывод: Элемент присутствует в списке!

Поиск с помощью функции any()

Функция any принимает в качестве аргумента итерабельный объект, и возвращает True, если хотя бы один элемент равен True, иначе будет возвращено False.

Создадим условие, что если функция any() вернёт True, то элемент присутствует:

colors = ['black', 'yellow', 'grey', 'brown']

if any(color in 'yellow' for color in colors):
    print('Элемент присутствует в списке!')
else:
    print('Элемент отсутствует в списке!')

# Вывод: Элемент присутствует в списке!

Внутри функции any() при помощи цикла производится проверка присутствия элемента в списке.

Заключение

В ходе статьи мы с Вами разобрали целых 5 способов поиска элемента в списке Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Как создать список?

Списки объявляются в квадратных скобках [ ].

Список в python
Вторая строка этой таблицы списка python — индекс элемента списка.
z = [3, 7, 4, 2]  # Создание списка

В python списки хранят упорядоченный набор элементов, которые могут быть разных типов. В примере, указанном выше элементы имеют один и тот же тип int. Не обязательно все элементы должны быть одного типа.

# Создание списка с разными типам данных 
heterogenousElements = [3, True, 'Витя', 2.0] 

Этот список содержит int, bool, string и float.

Доступ к элементам списка

Каждый элемент имеет присвоенный ему индекс. Важно отметить, в python индекс первого элемента в списке — 0.

Элементы списка
Элемент с индексом 0 (выделен синим)
z = [3, 7, 4, 2]  # создаем список 
# обращение к первому элементу списка с индексом 0
print(z[0]) 
# элемент с индексом 0 -> 3

Также поддерживается отрицательная индексация. Отрицательная индексация начинается с конца. Иногда её удобнее использовать для получения последнего элемента в списке, потому что не нужно знать длину списка, чтобы получить доступ к последнему элементу.

Отрицательная индексация списка
Элемент с индексом -1 (выделен синим)
# выведите последний элемент списка 
>>> print(z[-1])
2

Вы также можете получить доступ к одному и тому же элементу с использованием положительных индексов (как показано ниже). Альтернативный способ доступа к последнему элементу в списке z.

Срезы(slice) списка

Срезы хороши для получения подмножества значений с вашего списка. На примере кода, приведенного ниже, он вернет список с элементами из индекса 0 и не включая индекс 2.

Срезы списка
Первый индекс пишется (до : включительно), а последний (после : ) и не учитывается
# Создайте список
z = [3, 7, 4, 2]
# Вывод элементов с индексом от 0 до 2 (не включая 2)
print(z[0:2]) 
# вывод: [3, 7]

Срезы списка 2
# Все, кроме индекса 3
>>> print(z[:3])
[3, 7, 4]

Срезы списка 3

Код, указанный ниже возвращает список с элементами начиная с индекса 1 до конца.

# начиная с индекса 1 до конца списка
>>> print(z[1:])
[7, 4, 2]

Изменение элементов в списке

Изменение списка

Списки в Python изменяемы. Это означает, что после создания списка можно обновить его отдельные элементы.

z = [3, 7, 4, 2]  # Создание списка
# Изменяем элемент с индексом 1 на строку 'fish'
z[1] = 'fish'
print(z)

[3, 'fish', 4, 2]

У списков Python есть разные методы, которые помогают в программировании. В этом разделе рассматриваются все методы списков.

Метод Index

Метод index возвращает положение первого индекса, со значением х. В указанном ниже коде, он возвращает назад 0.

# Создайте список
>>> z = [4, 1, 5, 4, 10, 4]
>>> print(z.index(4))
0

Индексы списка

Вы также можете указать, откуда начинаете поиск.

>>> print(z.index(4, 3))
3

list index

Метод Count

Метод count работает так, как звучит. Он считает количество раз, когда значение появляется в списке.

>>> random_list = [4, 1, 5, 4, 10, 4]
>>> print(random_list.count(4))
3

Метод Sort

метод sort
Сортировка списка — фактическим кодом будем: z.sort()

Метод sort сортирует и меняет исходный список.

z = [3, 7, 4, 2]
z.sort()
print(z)

[2, 3, 4, 7]
Обратная сортировка списка
Сортировка списка с наибольшего значения к наименьшему

Вышеуказанный код сортирует список чисел от наименьшего к наибольшему. Код, указанный ниже, показывает, как вы можете сортировать список от наибольшего к наименьшему.

# Сортировка и изменение исходного списка от наивысшего к наименьшему
z.sort(reverse = True)
print(z)

[7, 4, 3, 2]

Следует отметить, что вы также можете отсортировать список строк от А до Я (или A-Z) и наоборот.




# Сортировка списка строками
names = ["Стив", "Рейчел", "Майкл", "Адам", "Джессика", "Лестер"]
names.sort()
print(names)

['Адам', 'Джессика', 'Лестер', 'Майкл', 'Рейчел', 'Стив']

Метод Append

list append
Добавьте значение 3 в конец списка

Метод append добавляет элемент в конец списка. Это происходит на месте.

z = [7, 4, 3, 2]
z.append(3)
print(z)

[7, 4, 3, 2, 3]

Метод Remove

метод remove
Метод remove удаляет первое вхождение значения в списке.
z = [7, 4, 3, 2, 3]
z.remove(2)
print(z)

Код удаляет первое вхождение значения 2 из списка z.

[7, 4, 3, 3]

Метод Pop

метод pop
z.pop(1) удаляет значение в индексе 1 и возвращает значение 4

Метод pop удаляет элемент в указанном индексе. Этот метод также вернет элемент, который был удален из списка. В случае, если вы не указали индекс, он по умолчанию удалит элемент по последнему индексу.

z = [7, 4, 3, 3]
print(z.pop(1))
print(z)

4
[7, 3, 3]

Метод Extend

Метод Extend

Метод extend расширяет список, добавляя элементы. Преимущество над append в том, что вы можете добавлять списки.
Добавим [4, 5] в конец z:

z = [7, 3, 3]
z.extend([4,5])
print(z)

[7, 3, 3, 4, 5]

То же самое можно было бы сделать, используя +.

>>> print([1,2] + [3,4])
[7, 3, 3, 4, 5]

Метод Insert

метод insert
Вставляет [1,2] с индексом 4

Метод insert вставляет элемент перед указанным индексом.

z = [7, 3, 3, 4, 5]
z.insert(4, [1, 2])
print(z)

[7, 3, 3, 4, [1, 2], 5]

Простые операции над списками

Метод Описаниее
x in s True если элемент x находится в списке s
x not in s True если элемент x не находится в списке s
s1 + s2 Объединение списков s1 и s2
s * n , n * s Копирует список s n раз
len(s) Длина списка s, т.e. количество элементов в s
min(s) Наименьший элемент списка s
max(s) Наибольший элемент списка s
sum(s) Сумма чисел списка s
for i in list() Перебирает элементы слева направо в цикле for

Примеры использование функций со списками:

>>> list1 = [2, 3, 4, 1, 32]
>>> 2 in list1  # 2 в list1?
True
>>> 33 not in list1  # 33 не в list1?
True
>>> len(list1)  # количество элементов списка
5
>>> max(list1)  # самый большой элемент списка
32
>>> min(list1)  # наименьший элемент списка
1
>>> sum(list1)  # сумма чисел в списке
42
# генератор списков python (list comprehension)
>>> x =  [i for i in range(10)]
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(list1.reverse()) # разворачивает список
[32, 1, 4, 3, 2]

Операторы + и * для списков

+ объединяет два списка.

list1 = [11, 33]
list2 = [1, 9]
list3 = list1 + list2
print(list3)

[11, 33, 1, 9]

* копирует элементы в списке.

list4 = [1, 2, 3, 4]
list5 = list4 * 3
print(list5)

[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

Оператор in и not in

Оператор in проверяет находится ли элемент в списке. При успешном результате он возвращает True, в случае неудачи, возвращает False .

>>> list1 = [11, 22, 44, 16, 77, 98]
>>> 22 in list1
True

Аналогично not in возвращает противоположный от оператора in результат.

>>> 22 not in list1
False

Итерация по списку с использованием цикла for

Список — последовательность. Ниже способ, которые вы можете использовать для цикла, чтобы перебрать все элементы списка.

list1 = [1,2,3,4,5]
for i in list1:
    print(i, end=" ")

1 2 3 4 5

Преобразование списка в строку

Как преобразовать список в строку?
Для преобразования списка в строку используйте метод join(). В Python это выглядит так:
",".join(["a", "b", "c"]) -> "a,b,c".
Разделитель пишут в кавычках перед join, в список должен состоять из строк.

Вот несколько полезных советов для преобразования списка в строку (или любого другого итерабельного, такого как tuple).

Во-первых, если это список строк, вы можете просто использовать join() следующим образом.

mylist = ['spam', 'ham', 'eggs']
print(', '.join(mylist))

spam, ham, eggs

Используя тот же метод, вы можете также сделать следующее:

>>> print('n'.join(mylist))
spam
ham
eggs

Однако этот простой метод не работает, если список содержит не строчные объекты, такие как целые числа. Если вы просто хотите получить строку с разделителями-запятыми, вы можете использовать этот шаблон:

list_of_ints = [80, 443, 8080, 8081]
print(str(list_of_ints).strip('[]'))

80, 443, 8080, 8081

Или же этот, если ваши объекты содержат квадратные скобки:

>>> print(str(list_of_ints)[1:-1])
80, 443, 8080, 8081

В конце концов, вы можете использовать map() чтобы преобразовать каждый элемент в список строки и затем присоединиться к ним:

>>> print(', '.join(map(str, list_of_ints)))
80, 443, 8080, 8081
>>> print('n'.join(map(str, list_of_ints)))
80
443
8080
8081

Тест на знание списков в Python

Что выведет этот код:

a = [ 1, 342, 223, 'Африка', 'Очки']
print(a[-3])

Что выведет этот код:

sample = [10, 20, 30]
sample.append(60)
sample.insert(3, 40)
print(sample)

Что выведет этот код:

lake = ["Python", 51, False, "22"]
lake.reverse()
lake.reverse()
print(lake[-2])

Что из перечисленного правда?

Мы можем вставить элемент на любую позицию в списке

Все элементы списка должны быть одного типа

Элементы списка не могут повторятся

Список не может содержать вложенных списков

Как получить ['bar', 'baz'] из списка

a = ['foo', 'bar', 'baz', 'qux', 'quux']

?

Как получить 'bar' из списка

x = [10, [3.141, 20, [30, 'baz', 2.718]], 'foo']

?

Как избавиться от “3” в списке a = [1, 3, 5] и получить [1, 5]?

С помощью какого метода можно добавить сразу два элемента в список?

Что вернет этот код [1, 2] * 3?

What is a good way to find the index of an element in a list in Python?
Note that the list may not be sorted.

Is there a way to specify what comparison operator to use?

Benyamin Jafari's user avatar

asked Mar 3, 2009 at 1:45

Himadri Choudhury's user avatar

2

From Dive Into Python:

>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.index("example")
5

stivlo's user avatar

stivlo

83.1k31 gold badges142 silver badges199 bronze badges

answered Mar 3, 2009 at 1:52

Matt Howell's user avatar

3

If you just want to find out if an element is contained in the list or not:

>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False

answered Feb 17, 2011 at 10:00

Eduardo's user avatar

EduardoEduardo

1,7811 gold badge11 silver badges5 bronze badges

0

The best way is probably to use the list method .index.

For the objects in the list, you can do something like:

def __eq__(self, other):
    return self.Value == other.Value

with any special processing you need.

You can also use a for/in statement with enumerate(arr)

Example of finding the index of an item that has value > 100.

for index, item in enumerate(arr):
    if item > 100:
        return index, item

Source

tedder42's user avatar

tedder42

23.1k12 gold badges86 silver badges99 bronze badges

answered Mar 3, 2009 at 1:51

Brian R. Bondy's user avatar

Brian R. BondyBrian R. Bondy

337k124 gold badges592 silver badges635 bronze badges

Here is another way using list comprehension (some people might find it debatable). It is very approachable for simple tests, e.g. comparisons on object attributes (which I need a lot):

el = [x for x in mylist if x.attr == "foo"][0]

Of course this assumes the existence (and, actually, uniqueness) of a suitable element in the list.

answered Sep 24, 2010 at 9:35

ThomasH's user avatar

ThomasHThomasH

22.1k13 gold badges60 silver badges61 bronze badges

3

assuming you want to find a value in a numpy array,
I guess something like this might work:

Numpy.where(arr=="value")[0]

Jorgesys's user avatar

Jorgesys

123k23 gold badges328 silver badges264 bronze badges

answered Jan 27, 2011 at 15:03

Sebastian Gurovich's user avatar

2

There is the index method, i = array.index(value), but I don’t think you can specify a custom comparison operator. It wouldn’t be hard to write your own function to do so, though:

def custom_index(array, compare_function):
    for i, v in enumerate(array):
        if compare_function(v):
            return i

answered Mar 3, 2009 at 1:50

David Z's user avatar

David ZDavid Z

127k27 gold badges252 silver badges277 bronze badges

I use function for returning index for the matching element (Python 2.6):

def index(l, f):
     return next((i for i in xrange(len(l)) if f(l[i])), None)

Then use it via lambda function for retrieving needed element by any required equation e.g. by using element name.

element = mylist[index(mylist, lambda item: item["name"] == "my name")]

If i need to use it in several places in my code i just define specific find function e.g. for finding element by name:

def find_name(l, name):
     return l[index(l, lambda item: item["name"] == name)]

And then it is quite easy and readable:

element = find_name(mylist,"my name")

answered Oct 20, 2011 at 12:30

jki's user avatar

jkijki

4,6171 gold badge34 silver badges29 bronze badges

0

The index method of a list will do this for you. If you want to guarantee order, sort the list first using sorted(). Sorted accepts a cmp or key parameter to dictate how the sorting will happen:

a = [5, 4, 3]
print sorted(a).index(5)

Or:

a = ['one', 'aardvark', 'a']
print sorted(a, key=len).index('a')

answered Mar 3, 2009 at 1:52

Jarret Hardie's user avatar

Jarret HardieJarret Hardie

94.4k10 gold badges132 silver badges126 bronze badges

how’s this one?

def global_index(lst, test):
    return ( pair[0] for pair in zip(range(len(lst)), lst) if test(pair[1]) )

Usage:

>>> global_index([1, 2, 3, 4, 5, 6], lambda x: x>3)
<generator object <genexpr> at ...>
>>> list(_)
[3, 4, 5]

answered Mar 3, 2009 at 2:06

SingleNegationElimination's user avatar

2

I found this by adapting some tutos. Thanks to google, and to all of you 😉

def findall(L, test):
    i=0
    indices = []
    while(True):
        try:
            # next value in list passing the test
            nextvalue = filter(test, L[i:])[0]

            # add index of this value in the index list,
            # by searching the value in L[i:] 
            indices.append(L.index(nextvalue, i))

            # iterate i, that is the next index from where to search
            i=indices[-1]+1
        #when there is no further "good value", filter returns [],
        # hence there is an out of range exeption
        except IndexError:
            return indices

A very simple use:

a = [0,0,2,1]
ind = findall(a, lambda x:x>0))

[2, 3]

P.S. scuse my english

answered Oct 16, 2011 at 11:41

Gael's user avatar

Python - как найти элемент списка

Привет всем! Сегодня мы узнаем, как в Python найти элемент списка. Поехали!
В Python можно найти элемент списка с помощью метода index() или с помощью оператора in.
Например, посмотрим на следующий список цветов:

colors = ['красный', 'зеленый', 'синий']

Если мы хотим найти индекс цвета ‘зеленый’ в этом списке, мы можем сделать следующее:

colors = ['красный', 'зеленый', 'синий']
green_index = colors.index('зеленый')
print(green_index)  # выведет 1

Конечно, если мы попробуем найти, например, желтый цвет — то получим ошибку — ибо у нас нет обработки исключений. Я писал об этом здесь. В данном же случаем обработку исключений можно представить в следующем виде:

try:
print(green_index)
except ValueError:
print("Элемент не существует в списке")

Теперь разберемся, как найти поиск элемента списка с помощью оператора in. Для примера берем все тот же список цветов 🙂 Если мы хотим проверить, присутствует ли цвет ‘желтый’ в списке — попробуем следующий код:

colors = ['красный', 'зеленый', 'синий']
if 'желтый' in colors:
print('Желтый имеется в списке цветов')
else:
print('Желтый не имеется в списке цветов')

Выведет ‘Желтый не имеется в списке цветов’, потому что ‘желтый’ не присутствует в списке colors.

А еще для поиска элемента списка можно использовать функцию enumerate(), которая позволяет итерироваться по списку и одновременно получать индекс нужного элемента. Используется эта функция в случае, если нужно сделать какую-либо операцию над элементом списка и одновременно знать его (этого элемента) индекс.
Для примера — возьмем код, который позволит вывести значение элемента списка и его индекс:

my_list = [1, 2, 3]
for index, value in enumerate(my_list):
print(f"Индекс: {index}, Значение: {value}")

Надеюсь, теперь тема по поиску элемента с списке в Python стала более простой 🙂 Как всегда — в случае возникновения вопросов пишите на почту или в Telegram.

Больше …

Больше ...

Привет всем! Сегодня коротенький пост (на самом деле не пост…

Добавить комментарий