首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python如何识别列表中的空字符串?

python如何识别列表中的空字符串?
EN

Stack Overflow用户
提问于 2021-10-01 20:06:13
回答 2查看 77关注 0票数 0

我正在学习创建一个“if”语句块来检查某些条件,我想让它们识别列表中是否有空的引号。

举个例子:

代码语言:javascript
复制
favourite_fruit = []

if len(favourite_fruits) == 0:
    print('Fruits are an important part of one's diet')
###This code works which is great as long as the list is empty in terms of it's length.

如果列表不是空的,并且他们有这样的东西:'apple‘,但是缺少另一个像’date‘这样的水果,那么我会告诉它说:

代码语言:javascript
复制
if 'dates' not in favourite_fruit and len(favourite_fruit) != 0:
    print ('Have you tried Dates? They are high in fibre, a good source of which, can help prevent constipation by promoting bowel movements.') 

但问题是,如果我键入:

代码语言:javascript
复制
favourite_fruit = ['']

此列表的长度为1,但其中没有任何内容,因此它将打印日期引用,而不是“水果很重要”引用。

有没有办法让python识别列表中没有实际写入的内容?

我基本上是个初学者,所以我还在学习。

以下是我尝试过的方法:

代码语言:javascript
复制
favourite_fruit = ['']

if 'dates' not in favourite_fruit and len(favourite_fruit) != 0 and favourite_fruit != "" and favourite_fruit != "\"\"" and favourite_fruit != '' and favourite_fruit != '\'\'':
    print ('Have you tried Dates? They are high in fibre, a good source of which, can help prevent constipation by promoting bowel movements.')

但它仍然不起作用。

EN

回答 2

Stack Overflow用户

发布于 2021-10-01 20:12:44

奇怪为什么列表中有空字符串。

无论如何,假设你想忽略空字符串,你可以先过滤你的列表。在Python中,这通常是通过以下语法实现的,这称为列表理解:

代码语言:javascript
复制
favourite_fruit = [f for f in favourite_fruit is f != ""]

['']变成了[] (空列表),['apple', '']变成了['apple'],等等。

旁注:在Python语言中,非空列表是真的,空列表是假的,所以if len(favourite_fruits) == 0可以写成if favourite_fruits

票数 1
EN

Stack Overflow用户

发布于 2021-10-01 20:38:47

有没有办法让python来识别列表中没有任何实际写入的内容?

空字符串是假的,所以您需要做的就是检查favourite_fruit中的项的any是否为真。

代码语言:javascript
复制
any([])         => False
any([''])       => False
any(['dates'])  => True
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69411470

复制
相关文章

相似问题

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