我有一个像
这样的清单l = []
如何检查l [i]是否为空?
l[i] = ''
和
l[i] = ""
不起作用。
答案 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
如果您有包含一些空格的长字符串列表并且您不考虑这些列表值,这将非常有用。