2024-03-28 09:56:50 发布
网友
def add(t1, t2): if len(t1) == len(t2): for i in range(len(t1)): [t1[i]+t2[i]] elif len(t1) != len(t2): return None t1 = [42, 1024, 23] t2 = [6, 28, 496] t3 = add(t1, t2) print(t1) print(t2) print(t3)
列表中元素的问题对我来说太难了。 请给我一点帮助
通过从if语句返回来尝试此操作
def add(t1, t2): if len(t1) == len(t2): return [(t1[i] + t2[i] ) for i in range(len(t1)) ] return None
或者简短一点:
def add(t1, t2): return [sum(i) for i in zip(t1, t2)] if len(t1) == len(t2) else None
甚至更短:
def add(*x): return [*map(sum, zip(*x))] if set(map(len, x)) == 1 else None
对于成对和的列表,您可以按如下方式修改代码:
def add(t1, t2): if len(t1) == len(t2): result = [] for i in range(len(t1)): result.append(t1[i]+t2[i]) return result else: return None
当然,有一些UTIL可以缩短这一时间:
def add(t1, t2): if len(t1) == len(t2): return [*map(sum, zip(t1, t2))] # None returned implicitly
这个内置的ladden代码可以解释为“将sum函数映射到zip生成的对上,并将结果的和解压到列表中”
请参阅一些文档:
通过从if语句返回来尝试此操作
或者简短一点:
甚至更短:
对于成对和的列表,您可以按如下方式修改代码:
当然,有一些UTIL可以缩短这一时间:
这个内置的ladden代码可以解释为“将sum函数映射到zip生成的对上,并将结果的和解压到列表中”
请参阅一些文档:
相关问题 更多 >
编程相关推荐