我有一个列表,类似于:
l = []
如何检查 l[i] 是否为空?
l[i] = ''
并且
l[i] = ""
无法工作。
尝试:
if l[i]:
print 'Found element!'
else:
print 'Empty element.'
只需检查该元素是否等于None类型,或使用NOT运算符,该运算符相当于您在其他语言中观察到的NULL类型。
if not A[i]:
## do whatever
letter= ['a','','b','c']
for i in range(len(letter)):
if letter[i] =='':
print(str(i) + ' is empty')
输出-1为空
因此我们可以看到索引1为空。
如果你想知道索引为i
的列表元素是否已设置,你可以简单地检查以下内容:
if len(l)<=i:
print ("empty")
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")
我遇到了一个类似的问题,需要对位置字符串进行一些预测试:
loc_string = "site/building/room//ru" # missing rack
is_ok = True
for i in loc_string.split('/'):
if not i:
is_ok = False
if is_ok:
#perform any action
print(is_ok)
如果所有值都有数据,这将返回True。
与某些语言不同,empty
在Python中不是关键字。Python列表是从头开始构建的,因此如果元素i
具有值,则对于所有i > 0
,元素i-1
也具有值。
要进行相等性检查,通常使用==
比较运算符。
>>> 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
is
关键字进行相等性测试是个不好的主意。它仅用于对象身份测试(除此之外,你可能会遇到一些混乱)。详情请参阅:https://dev59.com/s13Ua4cB1Zd3GeqP_VBG。 - Tim PietzckerNone
的比较使用is
。也许这是我从PHP中记住的什么东西... - machine yearningNone
对象,所以你需要使用is
运算符来显式地测试对象的身份。 - Tim Pietzckermy_list[3] == ''
的最后一种情况。提示:你是否使用了 mystring.strip()
来去除换行符和其他空格? - machine yearninglen()
和一个简单的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
List = []
for item in List:
if len(item.rstrip()) != 0:
# Do whatever you want
如果您有一长串带有空格的字符串列表,并且您不考虑这些列表值,那么这将非常有用。
len(l) == 0
)。考虑到这一点,以下情况都是成立的:l = [""]; l[0] == ""
和l = [None]; l[0] is None
。那么,目标/意图是什么呢? :) - user166390l[0] == ""
- rossipedia