在Lambda映射中避免索引越界的最简单方法是使用一个空检查。以下是一个示例代码解决方案:
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 避免索引越界的 Lambda 映射中的空检查
result = list(map(lambda x: x*x if x < len(data) else None, range(0, 15)))
print(result)
在上面的示例中,我们定义了一个列表data
,然后使用map
函数将每个元素平方。在Lambda函数中,我们添加了一个条件if x < len(data)
来检查索引是否超出了data
列表的长度。如果索引越界,则返回None
,否则返回平方值。
输出结果为:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, None, None, None, None, None]
如上所示,对于索引超出data
列表长度的元素,我们得到了None
值,以此避免了索引越界的问题。