Печать значения из списка в python, если условие истинно - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь выполнить относительно базовую c операцию в Python, я пытаюсь распечатать значение из списка, если это значение определенного типа, поэтому, например, выведите значение, если оно тип строки

Это то, что я имею до сих пор, я считаю, что мое структурирование несколько неверно, поскольку исключение также печатается 5 раз.

x = [ 1, 'string', 3, 4, 5 ]
for i in x:
     if i is type(str):
        print('item is {}'.format(i))
     else:
        print('There are no strings in the list')

Спасибо

Ответы [ 2 ]

2 голосов
/ 26 апреля 2020

Вместо

if i is type(str):

Я думаю, что вы хотели:

if type(i) is str:

, но еще лучше, используйте:

if isinstance(i, str):
0 голосов
/ 27 апреля 2020

, если вы хотите напечатать только строки, попробуйте код ниже. условие else будет выполнено, если условие не выполнено.

x = [ 1, 'string', 3, 4, 5 ]
for i in x:
     if type(i) is str:
        print('item is {}'.format(i))

или

x = [ 1, 'string', 3, 4, 5 ]
for i in x:
     if isinstance(i, str):
        print('item is {}'.format(i))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...