我在代码中的循环中使用下面的行
importer = exporterslist.pop(0)
Run Code Online (Sandbox Code Playgroud)
如果exporterslist没有条目,或者它是null,则返回error: IndexError: pop from empty list.如何在没有条目的情况下绕过exporterslist?
我能想到的一个想法是,如果exporterslist不为null,则importer = exporterslist.pop(0)
获取循环中的下一个条目.如果想法是正确的,如何在python中编码?
Nig*_*een 12
你走在正确的轨道上.
if exporterslist: #if empty_list will evaluate as false.
importer = exporterslist.pop(0)
else:
#Get next entry? Do something else?
Run Code Online (Sandbox Code Playgroud)
Pad*_*ham 10
您也可以使用 try/except
try:
importer = exporterslist.pop(0)
except IndexError as e:
print(e)
Run Code Online (Sandbox Code Playgroud)
如果您总是从前面弹出,您可能会发现deque是更好的选择,因为 deque.popleft() 是 0(1)。
这个..
exporterslist.pop(0) if exporterslist else False
..有点和@nightshadequeen的简短答案相同:
>>> exporterslist = []
>>> exporterslist.pop(0) if exporterslist else False
False
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用此方法根本不获得任何回报:
exporterslist.pop(0) if exporterslist else None
>>> exporterslist = []
>>> exporterslist.pop(0) if exporterslist else None
>>>
Run Code Online (Sandbox Code Playgroud)