Python:从空lis弹出

2024-05-20 23:30:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的代码中循环使用下面的行

importer = exporterslist.pop(0)

如果exporterslist没有条目或者是null,则返回error: IndexError: pop from empty list。如何绕过没有条目的exporterslist?

我能想到的一个想法是,如果exporterslist不为空,那么importer = exporterslist.pop(0) 否则得到循环中的下一个条目。 如果这个想法是正确的,那么如何用python编写呢?


Tags: 代码from目的条目errorpopnulllist
3条回答

你在正确的轨道上。

if exporterslist: #if empty_list will evaluate as false.
    importer = exporterslist.pop(0)
else:
    #Get next entry? Do something else?

您也可以使用try/except

try:
    importer = exporterslist.pop(0)
except IndexError as e:
    print(e)

如果你总是从前面跳出来,你可能会发现deque一个更好的选择,因为deque.popleft()是0(1)

这个。。

exporterslist.pop(0) if exporterslist else False

…与@nightshadequeen的公认答案稍短一些:

>>> exporterslist = []   
>>> exporterslist.pop(0) if exporterslist else False   
False

或者你可以用这个来获得一点回报:

exporterslist.pop(0) if exporterslist else None

>>> exporterslist = [] 
>>> exporterslist.pop(0) if exporterslist else None
>>> 

相关问题 更多 >