如果列表的元素为空,我如何检查python?

时间:2011-12-07 07:39:43

标签: python list element

我有一个像

这样的清单
l = []

如何检查l [i]是否为空?

l[i] = ''

l[i] = ""

不起作用。

7 个答案:

答案 0 :(得分:8)

尝试:

if l[i]:
    print 'Found element!'
else:
    print 'Empty element.'

答案 1 :(得分:2)

如果您想知道是否设置了索引i的列表元素,您只需检查以下内容:

if len(l)<=i:
    print ("empty")

如果您正在寻找其他语言中的NULL-Pointer或NULL-Reference之类的东西,Python会为您提供None。那就是你可以写:

l[0] = None # here, list element at index 0 has to be set already
l.append(None) # here the list can be empty before
# checking
if l[i] == None:
    print ("list has actually an element at position i, which is None")

答案 2 :(得分:2)

只检查该元素是否等于None类型或使用NOT运算符,这相当于您在其他语言中观察到的NULL类型。

if not A[i]:
    ## do whatever

无论如何,如果您知道列表的大小,那么您不需要这么做。

答案 3 :(得分:0)

与某些语言不同,empty不是Python中的关键字。 Python列表是从头开始构建的,因此如果元素i具有值,则元素i-1具有一个值,适用于所有i > 0

要进行相等检查,通常使用==比较运算符。

>>> my_list = ["asdf", 0, 42, '', None, True, "LOLOL"]
>>> my_list[0] == "asdf"
True
>>> my_list[4] is None
True
>>> my_list[2] == "the universe"
False
>>> my_list[3]
""
>>> my_list[3] == ""
True

这是the strip method的链接:您的评论向我表明您可能会发生一些奇怪的文件解析错误,因此请确保在预期空行之前删除换行符和无关空格。< / p>

答案 4 :(得分:0)

假设

letter= ['a','','b','c']

for i in range(len(letter)):
    if letter[i] =='':
        print(str(i) + ' is empty')

output- 1 is emtpy

所以我们可以看到索引1为空。

答案 5 :(得分:0)

我通过len()和一个简单的if/else语句解决了这个问题。

列表元素被包裹在len()中时将以整数形式返回(当前为1,缺席为0)

l = []

print(len(l)) # Prints 0

if len(l) == 0:
    print("Element is empty")
else:
    print("Element is NOT empty")

Output:

Element is empty    

答案 6 :(得分:0)

List = []

for item in List:
    if len(item.rstrip()) != 0:
        # Do whatever you want

如果您有包含一些空格的长字符串列表并且您不考虑这些列表值,这将非常有用。