如果条件为真,在python中从列表中打印一个值。

问题描述 投票:0回答:1

我试图用Python进行一个比较基本的操作,我试图从一个列表中打印一个值,如果它是一个特定类型的值,那么比如说,如果它是一个字符串类型,那么就打印这个值。

这是我目前的情况,我相信我的结构设计也有些不正确,因为exception也打印了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')

谢谢你

python python-3.x list pycharm
1个回答
2
投票

而不是

if i is type(str):

我想你想要的。

if type(i) is str:

但更好的办法是用:

if isinstance(i, str):

0
投票

如果你想只打印字符串,可以试试下面的代码。 否则,如果条件失败,条件将被执行。

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))
© www.soinside.com 2019 - 2024. All rights reserved.