如何获取python列表中的第一个元素并检查是否为None?

时间:2019-03-19 15:45:37

标签: python python-3.x list arraylist

如何获取列表中的第一个元素并检查其是否为None?

a = [None, None, 1234, 'Apple', 1]
b = [None, 4321, 'Cheese', 1]

我想获取列表a和列表b中的第一个元素,并确定它们的第一个值是否为None。

4 个答案:

答案 0 :(得分:1)

TL; DR

  • 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