Python 中列表中的第一个非空字符串


给定一个字符串列表,让我们找出第一个非空元素。挑战在于 - 在列表的开头可能有一个、两个或多个空字符串,我们必须动态地找出第一个非空字符串。

通过 next

如果当前元素为空值,我们将应用 next 函数继续移至下一个元素。

示例

 在线演示

listA = ['','top', 'pot', 'hot', ' ','shot']
# Given list
print("Given list:\n " ,listA)
# using next()
res = next(sub for sub in listA if sub)
# printing result
print("The first non empty string is : \n",res)

输出

运行以上代码会得到以下结果 -

Given list:
['', 'top', 'pot', 'hot', ' ', 'shot']
The first non empty string is :
top

通过过滤器

我们还可以使用 filter 条件实现这一点。filter 条件会舍弃空值,而我们会挑选第一个非空值。仅适用于 Python 2。

示例

 在线演示

listA = ['','top', 'pot', 'hot', ' ','shot']
# Given list
print("Given list:\n " ,listA)
# using filter()
res = filter(None, listA)[0]
# printing result
print("The first non empty string is : \n",res)

输出

运行以上代码会得到以下结果 -

Given list:
['', 'top', 'pot', 'hot', ' ', 'shot']
The first non empty string is :
top

更新于: 04-06-2020

599 次浏览

开始你的 职业

通过完成课程获得认证

开始
广告