为了账号安全,请及时绑定邮箱和手机立即绑定

如果是空列表,则填充变量

如果是空列表,则填充变量

斯蒂芬大帝 2021-08-05 10:30:34
我有空的列表并填充了数据。我试图将列表的最后一个元素存储到一个变量中。如果列表中有元素,则工作正常。然而,当我传递一个空的[]列表中,我得到错误,如:IndexError: list index out of range。我应该为 [] 使用哪种语法?ids = [    'abc123',    'ab233',    '23231ad',    'a23r2d23'    ]ids = []# I tried these for emptyfinal = [ids if [] else ids[-1]] #error# final = [ids if ids == None else ids == ids[-1]] # error# final = [ids if ids == [] else ids == ids[-1]] # gives [[]] instead of []print(final)基本上,如果一个空列表在 ids 中,我需要它给 []。如果有元素,则给出最后一个有效的元素。
查看完整描述

3 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

这是执行此操作的一种方法:

final = ids[-1] if ids else None

(当列表为空时,替换None为您希望采用的值final。)


查看完整回答
反对 回复 2021-08-05
?
UYOU

TA贡献1878条经验 获得超4个赞

您可以通过以下表达式检查空列表。


data = []

if data:  #this returns False for empty list

    print("list is empty")

else:

    print("list has elements")

所以你可以做的是。


final = data[-1] if data else []

print(final)


查看完整回答
反对 回复 2021-08-05
?
莫回无

TA贡献1865条经验 获得超7个赞

final = ids[-1] if len(ids) > 0 else []

这将处理眼前的问题。请通过类材料或教程的工作有点多为个人技术。例如,你的那句ids if []犯规”做你(现在)似乎认为:它并没有检查ids是否为空表-它所做的就是看空列表是否是‘truthy’,和一个空列表评估为False


查看完整回答
反对 回复 2021-08-05
  • 3 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号