我喜欢函数 get,它可以提供默认值,但这仅适用于字典。
s=dict{}
s.get("Ann", 0)
我为列表写了类似的东西。 Python3.4中已经存在这个函数了吗?
def get(s, ind):
return len(s)>ind and s[ind] or 0
不,不存在这样的内置方法list
s。查明列表索引是否有效很简单,因此不需要任何函数。您可以将代码放入您的函数中(或者更具可读性的s[ind] if ind < len(s) else 0
)直接插入到需要的两三个地方,这是完全可以理解的。
您还可以利用对列表进行切片总是成功的事实,获取一个单项切片,为其创建一个迭代器,然后尝试从迭代器获取下一个值。然后你可以指定默认值next()
call.
next(iter(s[ind:ind+1]), 0)
但这会比if
建造。
当然,你的代码和我的代码都假设ind
总是积极的...
如果你确实想写一个函数,你可以将它作为一个方法list
子类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)