2024-03-28 10:32:50 发布
网友
我在python中寻找列表的dictionary.get(key, default)等价物。是否有一个行程序习惯用法来获取列表的第n个元素,或者如果不可用,则有一个默认值?
dictionary.get(key, default)
例如,给定一个列表myList,我想得到myList[0],如果myList是空列表,我想得到5。
myList[0]
myList
谢谢。
l[index] if index < len(l) else default
为了支持负指数,我们可以使用:
l[index] if -len(l) <= index < len(l) else default
try: a = b[n] except IndexError: a = default
编辑:我删除了TypeError的检查-最好让调用者处理这个问题。
(a[n:]+[default])[0]
当a变大时,这可能更好
a
(a[n:n+1]+[default])[0]
这是因为如果a[n:]是空列表,如果n => len(a)
a[n:]
n => len(a)
下面是一个如何与range(5)一起工作的示例
range(5)
>>> range(5)[3:4] [3] >>> range(5)[4:5] [4] >>> range(5)[5:6] [] >>> range(5)[6:7] []
以及完整的表达
>>> (range(5)[3:4]+[999])[0] 3 >>> (range(5)[4:5]+[999])[0] 4 >>> (range(5)[5:6]+[999])[0] 999 >>> (range(5)[6:7]+[999])[0] 999
为了支持负指数,我们可以使用:
编辑:我删除了TypeError的检查-最好让调用者处理这个问题。
当
a
变大时,这可能更好这是因为如果
a[n:]
是空列表,如果n => len(a)
下面是一个如何与
range(5)
一起工作的示例以及完整的表达
相关问题 更多 >
编程相关推荐