如何获取列表中的第一个元素并检查其是否为None?
a = [None, None, 1234, 'Apple', 1]
b = [None, 4321, 'Cheese', 1]
我想获取列表a和列表b中的第一个元素,并确定它们的第一个值是否为None。
答案 0 :(得分:1)
a[0] is None
如果True
中的第一个元素是a
,则返回None
。
a.pop(0) is None
如果True
中的第一个元素是a
,则返回None
,并从a
中删除该元素。
list
中的第一个元素您可以通过指定list
作为索引来访问0
中的第一个元素:
>>> x = [1,2,3]
>>> x[0]
1
指定较高的索引号会为您提供其他元素,如果该索引不存在,则会出错:
>>> x = [1,2,3]
>>> x[0]
1
>>> x[1]
2
>>> x[2]
3
>>> x[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
或者,您可以使用list
同时从pop()
检索和删除元素:
>>> x = [1,2,3]
>>> x.pop()
3
>>> x
[1, 2]
请注意,pop()
在不带参数的情况下返回list
的最后一个元素,并将其从list
中删除。
带有一个参数(它是一个索引号),它将返回(并删除)指定的元素:
>>> x = [1,2,3]
>>> x.pop(0)
1
>>> x
[2, 3]
None
只需使用is None
比较:
>>> x = [1,2,3]
>>> x[0] is None
False
>>> a = [None, None, 1234, 'Apple', 1]
>>> b = [None, 4321, 'Cheese', 1]
>>> a[0] is None
True
>>> b[0] is None
True
>>> a[0] is None and b[0] is None
True
使用pop()
,将从list
中删除指定的元素:
>>> a = [None, None, 1234, 'Apple', 1]
>>> b = [None, 4321, 'Cheese', 1]
>>> a.pop(0) is None and b.pop(0) is None
True
>>> a
[None, 1234, 'Apple', 1]
>>> b
[4321, 'Cheese', 1]
>>> x = [1,2,3]
>>> x[-1]
3
>>> x[-2]
2
>>> x[-3]
1
>>> x[-4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
获取第一个元素的环形交叉路口。不切实际,只是为了好玩:
>>> x = [1,2,3]
>>> x[len(x) * -1]
1
答案 1 :(得分:0)
if a[0] is None:
print("The first element in list a is None")
else:
print("The first element in list a is not None")
您可以执行相同的操作来测试列表b中的第一个元素。
答案 2 :(得分:0)
您用谷歌搜索吗?这是一个相当基本的问题。
if a[0] is None : print("is None")
else : print("is not none")
与b相同
答案 3 :(得分:0)
if a[0] is None and b[0] is None:
# do your stuff