我是一个新手在python和我试图弄清楚,我如何区分2列表,如下所示
['11-10-2017', '12:15 PM', 'B.ARTS', 'Linguistics', '', '', 'German', 'Name']
而且
['', '', '', '', '', '', '', '']
问题是,这两个列表都有'
元素,我需要一个可靠的条件来满足,如果列表中有一个项是字符串而不是'
。列表也可能有7个''
,只有一个项目是字符串。
如果字符串中没有'
,我需要一个满足的条件。
您可以使用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
似乎要从列表中过滤空字符串:
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
,只有少数对象除外,例如False
、0
、”
、None
和空集合。
您可以将列表作为参数使用any
:
>>> any(['', '', '', '', '', '', '', ''])
False
>>> any(['', '', '', '', '', '', '', 'Test', ''])
True
如果有任何元素是true(即非空),它将返回True
。
问题内容: 给定一个数字列表,人们如何发现第()个元素与其第()个元素之间的差异? 使用表达式还是列表理解更好? 例如: 给定一个列表,我们的目标是要找到一个列表,因为,等等。 问题答案:
我想找出numpy数组中所有值之间的差异,并将其附加到一个新列表中。 也就是说,对于一个的每个值
问题内容: 我在Python中有两个列表,如下所示: 我需要用第一个列表中的项目创建第二个列表,而第二个列表中没有这些项目。从示例中,我必须得到: 有没有循环和检查的快速方法吗? 问题答案: 当心 你可能期望/希望它等于的位置。如果你想作为答案,则需要使用
我需要使用python找出两个列表之间的差异。这个问题以前在堆栈溢出上被问过很多次,但没有一个提到重复(即和之间的区别是;我需要它是,因为每个数字在我的程序中都很重要)。 我尝试过使用numpy的setdiff1d,但它无法满足上述标准 如上所述,这只说明同一项是否在列表中,而不是它在该列表中的次数。我还可以使用其他功能吗?
我有两个数据帧df1和df2,其中df2是df1的子集。我如何获得一个新的数据帧(df3),它是两个数据帧之间的差值? 换句话说,一个数据帧,它包含了df1中所有的行/列,而不是DF2中的行/列?
我对流完全陌生,目前正在尝试解决这个任务,我有以下两个列表: