list(rank['role'] for rank in load(open('data.json', encoding='utf-8'))['ranks'] if rank['kills'])[-1]
但是如果列表list(rank['role'] for rank in load(open('data.json', encoding='utf-8'))['ranks'] if rank['kills'])
为空,那么当我尝试获取最后一个元素时,我会收到错误,因为列表为空。
问题是如何保存获取最后一个元素而不出现当前错误。
这实际上取决于列表为空时您想要执行的操作。否则,您可以使用此选项,例如,在某些情况下(
list
为了简洁起见,我没有在里面重复您的代码):如果
list
结果是空的,它将result
被放入None
(好吧,或者你可以在那里放任何你想要的东西)。如果需要获取存根 (
None
) 的值,则如下所示:但良好的礼仪要求检查清单的长度,而不是将问题推迟到以后。
如果我正确理解了这个问题,那么检查列表是否为空就非常简单:
lst
是否大于零。