当前位置: 首页 > 知识库问答 >
问题:

在python中查找2个列表之间的差异条件

仲孙疏珂
2023-03-14

我是一个新手在python和我试图弄清楚,我如何区分2列表,如下所示

['11-10-2017', '12:15 PM', 'B.ARTS', 'Linguistics', '', '', 'German', 'Name']

而且

['', '', '', '', '', '', '', '']

问题是,这两个列表都有'元素,我需要一个可靠的条件来满足,如果列表中有一个项是字符串而不是'。列表也可能有7个'',只有一个项目是字符串。

共有3个答案

费承载
2023-03-14

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

您可以使用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]: True
潘刚洁
2023-03-14

似乎要从列表中过滤空字符串:

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']

我想要一个固体条件,它满足如果一个列表有一个项目是一个字符串,而不是"

如果项目,则条件为。为了澄清,'是一个空字符串。在迭代过程中,如果',则条件为,因此该项从结果中排除。否则,条件为True,结果将添加到列表中。另见本帖。

这种行为是因为Python中的所有对象都具有“真实性”-所有对象都假定为True,只有少数对象除外,例如False0None和空集合。

鲍鸿波
2023-03-14

您可以将列表作为参数使用any

>>> any(['', '', '', '', '', '', '', ''])
False
>>> any(['', '', '', '', '', '', '', 'Test', ''])
True

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

 类似资料:
  • 问题内容: 给定一个数字列表,人们如何发现第()个元素与其第()个元素之间的差异? 使用表达式还是列表理解更好? 例如: 给定一个列表,我们的目标是要找到一个列表,因为,等等。 问题答案:

  • 我想找出numpy数组中所有值之间的差异,并将其附加到一个新列表中。 也就是说,对于一个的每个值

  • 问题内容: 我在Python中有两个列表,如下所示: 我需要用第一个列表中的项目创建第二个列表,而第二个列表中没有这些项目。从示例中,我必须得到: 有没有循环和检查的快速方法吗? 问题答案: 当心 你可能期望/希望它等于的位置。如果你想作为答案,则需要使用

  • 我需要使用python找出两个列表之间的差异。这个问题以前在堆栈溢出上被问过很多次,但没有一个提到重复(即和之间的区别是;我需要它是,因为每个数字在我的程序中都很重要)。 我尝试过使用numpy的setdiff1d,但它无法满足上述标准 如上所述,这只说明同一项是否在列表中,而不是它在该列表中的次数。我还可以使用其他功能吗?

  • 我有两个数据帧df1和df2,其中df2是df1的子集。我如何获得一个新的数据帧(df3),它是两个数据帧之间的差值? 换句话说,一个数据帧,它包含了df1中所有的行/列,而不是DF2中的行/列?

  • 我对流完全陌生,目前正在尝试解决这个任务,我有以下两个列表: