首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中2个list的分化条件

python中2个list的分化条件
EN

Stack Overflow用户
提问于 2017-09-15 05:52:21
回答 4查看 46关注 0票数 2

我是python的新手,我试图弄清楚,如何区分两个列表,如下所示

代码语言:javascript
复制
['11-10-2017', '12:15 PM', 'B.ARTS', 'Linguistics', '', '', 'German', 'Name']

代码语言:javascript
复制
['', '', '', '', '', '', '', '']

问题是,这两个列表都有''元素,如果一个列表有一个字符串而不是'',那么我想要一个满足这个条件的坚实条件。也有可能列表有7 '',只有一项是字符串。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-09-15 06:41:19

您只需将any与列表一起用作参数:

代码语言:javascript
复制
>>> any(['', '', '', '', '', '', '', ''])
False
>>> any(['', '', '', '', '', '', '', 'Test', ''])
True

如果有任何元素是真实的(即非空的),它将返回True

票数 2
EN

Stack Overflow用户

发布于 2017-09-15 06:26:06

似乎您希望从列表中筛选空字符串:

代码语言:javascript
复制
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,除了少数对象,如False0""None和空集合。

票数 1
EN

Stack Overflow用户

发布于 2017-09-15 06:14:02

如果字符串中没有'',我需要一个满足的条件。

您可以使用all来检查这个。

代码语言:javascript
复制
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]: True
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46232551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档