我是python的新手,我试图弄清楚,如何区分两个列表,如下所示
['11-10-2017', '12:15 PM', 'B.ARTS', 'Linguistics', '', '', 'German', 'Name']和
['', '', '', '', '', '', '', '']问题是,这两个列表都有''元素,如果一个列表有一个字符串而不是'',那么我想要一个满足这个条件的坚实条件。也有可能列表有7 '',只有一项是字符串。
发布于 2017-09-15 06:41:19
您只需将any与列表一起用作参数:
>>> any(['', '', '', '', '', '', '', ''])
False
>>> any(['', '', '', '', '', '', '', 'Test', ''])
True如果有任何元素是真实的(即非空的),它将返回True。
发布于 2017-09-15 06:26:06
似乎您希望从列表中筛选空字符串:
lst = ['11-10-2017', '12:15 PM', 'B.ARTS', 'Linguistics', '', '', 'German', 'Name']
[item for item in lst if item]
# ['11-10-2017', '12:15 PM', 'B.ARTS', 'Linguistics', 'German', 'Name']我想要一个坚实的条件,如果一个列表有一个字符串而不是
''的项,它就满足了这个条件。
条件为if item。为了澄清,''是一个空字符串。在迭代期间,如果item是'',则条件是False,因此该项被排除在结果之外。否则,条件为True,并将结果添加到列表中。另见这个职位。
这种行为是因为Python中的所有对象都具有“真实性”。 -所有对象都假定为True,除了少数对象,如False、0、""、None和空集合。
发布于 2017-09-15 06:14:02
如果字符串中没有
'',我需要一个满足的条件。
您可以使用all来检查这个。
In [1]: s1 = ['11-10-2017', '12:15 PM', 'B.ARTS', 'Linguistics', '', '', 'German', 'Name']
In [2]: s2 = ['11-10-2017', '12:15 PM']
In [4]: all(x for x in s1)
Out[4]: False
In [5]: all(x for x in s2)
Out[5]: Truehttps://stackoverflow.com/questions/46232551
复制相似问题