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
广告